我正在尝试使用 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 仍然无法运行。任何人都可以提供任何指导吗?谢谢。