6

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

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

有没有人有什么建议?

4

6 回答 6

3

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

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

于 2012-11-09T14:52:16.977 回答
3

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

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

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

于 2010-01-22T02:09:47.437 回答
1

确保 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 可以进行身份​​验证

于 2012-04-13T13:29:36.117 回答
1

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

doc.HtmlOptions.PageLoadMethod = 
     PageLoadMethodType.WebBrowserNavigate;
于 2014-05-29T15:15:02.063 回答
1

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

我将样式表路径从“C:\MyProject\Resources\Styles.css”更改为“http:\www.MyDomain.com\Resources\Styles.css”,它工作正常。

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

根据 WebSuperGoo支持

(查询号:6.17)

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

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

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

于 2016-03-28T06:24:58.403 回答
0

你有没有尝试过;

theDoc.HtmlOptions.DoMarkup = true;

这会强制引擎在渲染之前处理 HTML。

于 2015-02-16T16:05:34.350 回答