2013-02-09 48 views
0

我想将由JavaScript生成的html格式保存在网站上。如何下载由javascript生成的html格式为pdf

当我运行的JavaScript,它返回我的HTML准备,与链接到铬打印机的按钮,将其保存为PDF格式。我想保存这个html生成为PDF格式,但我不能这样做。

我花了几天triyng Almos酒店的一切,PDFKit与引入nokogiri解析,搜索铬打印机API等,但没有成功了。有谁知道我该怎么做?您正在运行

回答

0

基于JavaScript的,搞清楚它调用,与任何变量,把它添加到GET/POST请求一起URL,然后使用OpenURI或某些类型的HTTP客户端请求该文件。将它传递给Nokogiri,并解析出该文件的URL。

备用是使用的Watir宝石之一来驱动浏览器,并访问该文件的方式。然后,您可以检索HTML,或让浏览器检索该文件,并在完成后将其从磁盘上取下。


我不明白你提出的第二个方案,你能解释一下吗?

有时开发人员使用Ajax检索HTML并将其插入到页面中,或者直接使用JavaScript处理页面的HTML。

你可以问的Watir驱动的浏览器给你目前的HTML,然后使用引入nokogiri或另一个XML分析器,检索的东西都是在那一刻的HTML DOM的一部分解析它。从那里你可以将它保存到磁盘并让Watir驱动的浏览器读取并渲染它。然后就是要弄清楚如何让浏览器打印成PDF格式,或者抓住屏幕快照将其变成PDF。

+0

提出不工作导致链路的第一个解决方案是不是在浏览器之外的是将请求发送到JS其他方式入店,在这种情况下, Watir的浏览器。 我不明白你提出的第二种解决方案,你能解释一下吗? – 2013-02-13 14:37:40

1

使用phantomjsrasterize.js可以转换。

然后,只需运行命令

phantomjs rasterize.js $URL_OR_PATH $PDF_OUT_FILENAME Letter