在将html文件转换为pdf时,我遇到了Phantomjs的一个奇怪问题 . 我的html,生成的pdf和rasterize.js文件如下:
您会注意到,在PDF文件中,在第6页,内容被截断,然后在第7页,内容被重复,然后一直到文档的末尾 .
html文件包含一系列 **** 标记,其 src 属性设置为 data:image/png;base64...
对幻像库的应用程序调用如下:
phantomJS.Run("C:\path\to\directory\rasterize.js"),
new[] { webpath, outFilePdf, "A4", "1", "portrait"}, null, null);
请注意,有时渲染的pdf文件将在文档中的不同位置展示中断/重复行为,例如:第7页而不是6)但始终会出现相同的问题 .
此外,我在我的应用程序中使用phantomjs(使用相同的rasterize.js脚本),没有其他问题 . 这仅在此导出时发生,并且仅在存在多个图像时才会发生 .
我的理论是image.onload事件正在发生,特别是base64数据,但我不知道如何解决这个问题 .
这都在.Net MVC应用程序中 . 我正在使用此处找到的PhantomJS nuget包:https://www.nuget.org/packages/PhantomJS/
非常感谢帮助 .
1 回答
更新:当通过命令行在本地运行phantomjs时,我收到以下错误:
我通过将html文件中的cdn引用替换为本地托管版本的font-awesome.css和weather-icons.css文件解决了这个问题(虽然我不知道如何/为什么) . 之后,没有更多错误,也没有更多重复的内容 .