【问题标题】:AbcPdf - document not applying CSSAbcPdf - 文档未应用 CSS
【发布时间】:2010-01-20 20:18:53
【问题描述】:

这可能更像是一个技术支持问题,但我想知道是否有其他开发人员遇到过这个问题:

我在我的 ASP.NET 代码中使用 Abcpdf 从 HTML 生成 PDF。它工作正常,但一位用户正在生成未应用 CSS 的 PDF(IE8、Adobe Acrobat 最新版本 - 与其他所有人相同)。由于这是唯一一个抱怨的用户,我确定这是一个本地设置,但我不知道是什么会阻止 css 加载 - 浏览器设置? Acrobat 设置?

有人有什么建议吗?

【问题讨论】:

  • 我遇到了类似的问题 - 我的样式位于 html 页面(
  • 代码是在网站上运行还是在本地用户机器上运行?

标签: abcpdf


【解决方案1】:

可能是不同版本的 Acrobat 阅读器存在问题?我会调查一下。

这没有多大意义,因为 AbcPdf 使用服务端逻辑根据您用于创建文档的方法来创建 PDF(例如 AddImageUrl 与手动绘制文档等)。

WebSuperGoo(AbcPdf 的供应商)的员工非常乐意回答此类支持问题。我在他们的产品中遇到过一些边缘案例,他们总是会及时跟进解决方法或替代方案。

【讨论】:

    【解决方案2】:

    确保 CSS 样式表有 media="print"!只是花了很长时间看着这把我的头发拉出来,正要给 WebSuperGoo 发电子邮件,然后我想到了这个想法。 即将取消我对代码所做的所有更改并再次测试,但它看起来像 EngineType.Gecko 它需要是 media="print" 而对于 EngineType.MSHtml 它可以是 media="screen"。 ....

    非常奇怪,但希望对某人有所帮助!

    【讨论】:

      【解决方案3】:

      确保 CSS 是绝对 URL 而不是相对 URL,或者在 HTML 的标头中添加基本标记

      例如,而不是

      <style type="text/css" href="/styles/somecss.css" rel="stylesheet" />
      

      使用

      <style type="text/css" href="http://myserver.com/styles/somecss.css" rel="stylesheet" />
      

      此外,如果您的站点是 SSL 或经过身份验证的,那么您必须使样式表的区域未经过身份验证,或者设置 PDF 对象的密码和用户名属性,以便 ABCPdf 可以进行身份​​验证

      【讨论】:

        【解决方案4】:

        您可以在版本 9 中尝试以下操作

        doc.HtmlOptions.PageLoadMethod = 
             PageLoadMethodType.WebBrowserNavigate;
        

        【讨论】:

        • 这对我有用。我还使用了绝对文件系统路径。
        【解决方案5】:

        我使用的是 ABCpdf 版本 10,我发现样式表路径应该是绝对的,而不是相对的。

        我将样式表路径从 "C:\MyProject\Resources\Styles.css" 更改为 "http:\www.MyDomain.com\Resources\Styles.css" strong> 并且成功了。

        虽然,版本 6 似乎正在使用相对路径。我没有用其他版本检查它

        根据WebSuperGoo support

        (查询号:6.17)

        HTML 不存在于文件中,因此它没有位置。

        外部样式表和图像通常通过相对 URL 引用。因为 HTML 没有位置,所以无法解析 这些相对引用。

        因此,您需要提供样式表和图像链接作为绝对引用。或者您可以使用 HTML BASE 元素来指定 合适的基地位置。或者您可以将 HTML 保存到文件中 适当的位置,然后使用 AddImageUrl。

        【讨论】:

          【解决方案6】:

          你试过了吗;

          theDoc.HtmlOptions.DoMarkup = true;
          

          这会强制引擎在呈现之前处理 HTML。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2010-11-28
            • 1970-01-01
            • 2014-07-09
            • 2011-04-21
            • 2018-11-30
            • 1970-01-01
            • 2019-04-05
            • 1970-01-01
            相关资源
            最近更新 更多