2013-02-09 68 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