Javascript Winnovative HTML到PDF转换器

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

我正在尝试使用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";
带有一类“items”的元素包围了页面上的所有内容。当我再次生成PDF时,所有的内容都像预期的那样消失了。这意味着javascript正在运行

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

pdfConverter.ConversionDelay = 30

即使在延迟之后,我的javascript仍然无法运行。有人能提供一些指导吗?谢谢。

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


您可以为Firefox安装,并使用View Source->View Generated Source功能获取页面当前状态下的HTML,然后将其保存到一个文件。

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

这是测试页面:我使用这些jQuery呈现页面成功地尝试了转换:

(选项卡已正确呈现)

(jquery创建的页码可见)

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


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

如果需要链接外部脚本,有三个选项:

  • 使用绝对路径添加脚本引用,如

    <script src="www.myserver.com/myjsfile.js" type="text/javascript"></script>
    
    
    
  • 使用标记将脚本插入原始页面

  • 使用带有“/”like的相对路径

    
    

  • 您是否正在文档中运行js代码。准备好了吗?@Haroon是的,我正在运行,脚本位于页面底部,因此它在加载内容后也会运行,如果这有什么用处的话。关于这个问题有什么新闻吗?我也一样problem@Haroon你的问题是否意味着你对这个问题有答案或建议?你找到解决方案了吗?我也遇到过这种情况。谢谢你的建议,但不幸的是,因为生成的HTML是动态的,取决于各种参数,所以这是不可能的。干杯,注意到你错过了列表中额外的四个空格缩进。:)
    <script src="/myjsfile.js" type="text/javascript"></script>