【问题标题】:Winnovative HTML to PDF converterWinnovative HTML 到 PDF 转换器
【发布时间】:2011-09-03 12:36:18
【问题描述】:

我正在尝试使用 Winnovative HTML 到 PDF 转换器将 aspx 页面转换为 PDF,但在转换页面之前,我希望运行一些 javascript。我知道 javascript 可以工作,因为我已经测试了独立的 aspx 页面而没有将其转换为 PDF。但是,当它被转换时,似乎 javascript 尚未运行。我已阅读 Winnovative 网站 (http://www.winnovative-software.com/FAQ.aspx) 上的常见问题解答,因此我在我的代码中添加了以下内容以确保允许运行 javascript:

pdfConverter.ScriptsEnabled = True
pdfConverter.InternetSecurityZone = InternetSecurityZone.LocalMachine

添加此代码仍然无效,因此我尝试注释掉我的主要 javascript 并测试一个非常简单的 javascript 以查看它是否有效。我试过的javascript很简单:

var item = $(".items")[0];
items.style.display = "none";

具有“项目”类的元素围绕着页面上的所有内容。当我再次生成 PDF 时,所有内容都按预期消失了。这意味着 javascript 正在运行。

然后我想知道是否可能在我的 javascript 有机会运行之前生成了 PDF,这就是看不到效果的原因。我在 Winnovative 网站的常见问题解答中发现 PDF 转换器有一个 ConversionDelay 属性,该属性可用于指定额外的时间段(以秒为单位),以在开始 PDF 渲染之前等待异步内容加载。所以我添加了以下内容:

pdfConverter.ConversionDelay = 30

即使在此延迟之后,我的 javascript 仍然无法运行。任何人都可以提供任何指导吗?谢谢。

【问题讨论】:

  • 你在 document.ready 中运行你的 js 代码吗???
  • @Haroon 是的,我是,脚本位于页面底部,因此如果有任何用处,它也会在内容加载后运行
  • 有关于这个问题的消息吗?我也有同样的问题
  • @Haroon 你的问题是否意味着你对这个问题有答案或建议?
  • 您找到解决方案了吗?我也被这个打击了。

标签: javascript html pdf-generation winnovative


【解决方案1】:

我发现 winnovative “EVO HTML to PDF Converter for .NET”的另一个产品可以很好地执行 javascript,它也适用于 jquery。

这里是测试页面:http://www.evopdf.com/evopdfdemo/default.aspx,我尝试使用这些 jQuery 渲染页面成功转换:

jQuery Accordion(标签正确呈现)

jQuery pagination(jquery创建的页码可见)

在这两个示例中,winnovative html 到 pdf 的转换失败。


编辑:似乎 EVO 库在相关脚本上存在问题,包括不以“/”开头

如果您需要链接外部脚本,您有以下三种选择:

  1. 使用绝对路径添加脚本引用

    <script src="www.myserver.com/myjsfile.js" type="text/javascript"></script>
    
  2. 使用

  3. 使用带“/”的相对路径

    <script src="/myjsfile.js" type="text/javascript"></script>
    

【讨论】:

  • 干杯,注意到您错过了列表中额外的四个空格缩进。 :)
【解决方案2】:

解决此问题的一种解决方法是 JavaScript 在浏览器上运行后保存页面源代码,然后将该 HTML 文件传递​​给转换器。

您可以为 Firefox 安装 Web Developer Toolbar 并使用查看源代码 -> 查看生成的源代码功能来获取当前状态的页面 HTML,然后将其保存到文件中。

【讨论】:

  • 感谢您的建议,但不幸的是,由于生成的 HTML 是动态的,取决于各种参数,这是不可能的。
猜你喜欢
  • 1970-01-01
  • 2021-08-22
  • 2015-04-09
  • 2017-01-09
  • 1970-01-01
  • 1970-01-01
  • 2010-12-22
  • 2011-02-24
  • 2011-11-16
相关资源
最近更新 更多