日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 編程 > HTML > 正文

html轉換為pdf案例的一些總結(多圖推薦)

2024-08-26 00:19:53
字體:
來源:轉載
供稿:網友

由于工作所需,最近花時間研究了html轉換為pdf的功能。html轉換為pdf的關鍵技術是如何處理網頁中復雜的css樣式,通過在網上收集資料,發現目前html 轉換為pdf的解決方案主要分為三類:

客戶端模式:前后臺調用客戶端程序,利用客戶端程序的功能完成pdf文件轉換。本次測試工具有:wkhtmltopdf和PhantomJS。java jar包解析類模式:java代碼解析css樣式,翻譯html文件為pdf文件。本次測試類有:IText,Flying Sauser,PD4ML。js 前端解析模式:js前端解析html文件為pdf文件,本次測試案例有:html2canvas。

本次針對網上介紹的方案,結合實際項目的需求,做一一測試,在性能和功能方面做如下分析。

1.測試頁面介紹

通過查看各個轉換案例在網上的介紹,簡單的html樣式,一般的表格樣式在做pdf文件轉換時,以上的方案均支持。但考慮到實際業務的需要,本次測試特意用到了bootstrap (v 3.3.6)的css樣式,同時頁面也應用了css3的新特性。基于這樣的新特性編寫一個靜態的html頁面,html頁面在瀏覽器中的展示效果如下:

html,pdf

2.wkhtmltopdf測試

wkhtmltopdf是一個使用webkit網頁渲染引擎開發的用來將html轉成 pdf的工具,可以跟多種腳本語言進行集成來轉換文檔。官網地址http://wkhtmltopdf.org/

技術特點:Wkhtmltopdf可以直接把瀏覽器中瀏覽的網頁轉換成一個pdf,他是一個把html頁面轉換成pdf的軟件(需要安裝在服務器上)。使用時可通過java代碼調用cmd指令完成網頁轉換為pdf的功能。

功能測試:直接在cmd里輸入測試指令,可查看處理進度。

html,pdf

第一個參數:wkhtmltopdf.exe所在的路徑

第二個參數:需要轉換為pdf的html頁面

第三個參數:pdf文件路徑及文件名

頁面導出效果如下:

html,pdf

測試說明:

通過測試發現,wkhtmltopdf對bootstap的CSS樣式整體支持較好。對css3的新特性如圓形圖片樣式支持行不好。部分頁面樣式會失效。對于圖表展示,eachart圖表導出程序會報錯,不支持。不過echart有圖表轉換為圖片的接口,可通過獲取圖片地址的方式導出到pdf中。

3.PhantomJS測試

PhantomJS是一個基于webkit內核的無頭瀏覽器,即沒有UI界面,即它是一個瀏覽器,只是其內的點擊、翻頁等人為相關操作需要程序設計實現。它提供javaScript API接口,即通過編寫JS程序可以直接與webkit內核交互,在此之上可以結合java語言等,通過java調用js等相關操作,從而解決了以前c/c++才能比較好的基于webkit開發優質采集器的限制。它同時提供windows、linux、mac等不同os的安裝使用包,也就是說可以在不同平臺上二次開發采集項目或是自動項目測試等工作。官網地址http://phantomjs.org/

PhantomJS可做網頁分析,功能很多,本次僅調用網頁的截圖功能。在cmd中的測試如下:

html,pdf

測試頁面導出效果如下:

html,pdf

測試說明:

通過測試發現,PhantomJS對bootstap的樣式支持較好。對css3的新特性如圓形圖片樣式支持行不好。部分頁面樣式會失效。對于echart圖表展示,也可直接導出。效果如下:

html,pdf

3.IText和Flying Sauser

IText實現html2pdf,速度快,糾錯能力差,支持中文(要求HTML使用unicode編碼),但中支持一種中文字體,開源。Flying Sauser實現html2pdf,糾錯能力差,支持多種中文字體(部分樣式不能識別),開源。

技術特點:基于java編程將html的css樣式做解析處理,目前僅對較簡單的頁面和樣式支持。對于css3的樣式和關聯復雜的css樣式兼容性極差。當頁面內容較長時,處理時間慢。參考地址:https://code.google.com/archive/p/flying-saucer/

測試結果:本實驗的測試頁面無法出來,普通的測試頁面效果如下:

html,pdf

測試說明:

通過測試發現,IText和Flying Sauser這兩個開源項目對css3的兼容性基本不行,通過查閱資料,發現這種技術比較陳舊,這個開源項目現在也沒有更新和維護了。對于簡單表格,統計數據的導出,更新的技術有bootstrap table,easyui datagrid表格導出。網上介紹的這種方案不建議使用。

4.PD4ML測試

PD4ML是純Java的類庫,使用HTML、CSS作為頁面布局和內容定義格式來生成PDF文檔的強大工具,可以簡化最終用戶生成PDF的工作。參考網站:http://www.pd4ml.com

該軟件的優點是:

支持的HTML標簽、CSS屬性較全,轉換失真比較小,可以使用HTML+CSS實現精確的布局控制。對網頁文件標簽、CSS語法錯誤的容錯性比較好。對不用額外的控制,就支持圖片的轉化輸出。

該軟件的缺點是:

不開源,最新的demo版本,下載測試以后,發現不支持中文轉換。必須購買商業版本才可以。(這里很坑,測試亂碼問題通不過,后面發現是本來就不支持)。破解后的一些舊版本可以解決亂碼問題,但是支持的css樣式沒有新版本的全。

測試結果:

html,pdf

測試說明:

新版本的中文亂碼,但是支持部分css樣式。老版本的破譯后,界面的樣式兼容性差,對bootsrtap的支持性低,就基本的可以出一個數據,展示圖片沒有問題。考慮到是收費軟件,并且性能也不夠完善,對于普通頁面可采用模板導出或其他的工具導出,不建議使用。

5.html2canvas測試

html2canvas是一個相當不錯的JavaScript類庫,它使用了html5和css3的一些新功能特性,實現了在客戶端對網頁進行截圖的功 能。html2canvas通過獲取頁面的DOM和元素的樣式信息,并將其渲染成canvas圖片,從而實現給頁面截圖的功能。它不需要來自服務器任何渲染,整張圖片都是在客戶端瀏覽器創建。當瀏覽器不支持Canvas時,將采用Flashcanvas或 ExplorerCanvas技術代替實現。以下瀏覽器能夠很好的支持該腳本:Firefox 3.5+, Google Chrome, Opera新的版本, IE9以上的瀏覽器。因為每個瀏覽器渲染頁面的方式都不盡相同,所以生成的圖片也不太一樣。雖然它目前還是處理開發階段,但還是很值得期待的。這個插件依賴于jQuery插件,建議使用最新版的。

不支持跨域圖片不能在瀏覽器插件中使用部分瀏覽器上不支持SVG圖片不支持Flash不支持ifream(可修改js原始代碼,支持ifream)

本次使用html2canvas做測試時,發現很多項目頁面可正常截圖,包括echart圖表。僅對少量css3的新特性不支持。在截圖效果上面較好。但是在測試應用時,發現了一個致命的問題,當頁面模塊調用html2canvas截圖后,發現原來頁面的部分css突然失效。跟蹤分析后,發現是html2canvas的js函數處理它不能識別的css樣式。特別是對隱藏和顯示的模塊,支持不友好。

html,pdf

頁面截圖效果如下:

html,pdf

但是原有頁面的css失效,頁面出現異常,隱藏的部分樣式,顯示的樣式展示混亂。

html,pdf

測試說明:

通過測試發現,html2canvas對bootstap的樣式支持較好。對css3的新特性如圓形圖片樣式支持行不好。它的主要優點是輕前端,對于改變原有頁面的樣式問題,可先導出圖片后,重新刷新一次頁面。

6.總結

通過對以上案例的測試,網上介紹的常用html轉換為pdf的方法,大多數就是簡單的html轉換可用,但是在實際應用中,還是存在諸多問題,難以應用。通過對這些方法的實現原理分析,可得出以下結論:

html網頁完整轉換為pdf,所有的方案均有不足。若只是部分表單頁面,html樣式盡量不采用css3的屬性,可用客戶端模式和html2canvas處理。html前端樣式發展快,css3新特性效果好,css定義了新的規則,語法。IText和Flying Sauser這樣的java轉換類根本兼容不了這些變化,因為無法及時寫出轉換的函數,并且這些開源項目是較老的技術,后期的開源團隊已經停止維護和更新了。PD4ML本質也是java處理css的樣式轉換,他是商業軟件,在兼容css3方面有團隊支持,相對IText和Flying Sauser在性能和功能方面都更強大。但對少部分css樣式也支持不好。并且中文亂碼問題解決也不便。針對客戶端瀏覽器內核模式,PhantomJS和wkhtmltopdf比較而言,PhantomJS更強大,截圖僅僅只是其中的一個小功能,通過它還可以做網頁分析,建議使用PhantomJS。html2canvas的截圖模式靈活,是輕量級的前端截圖工具。目前來說,部分功能不全,但整體效果還不錯,針對部分截圖影響原頁面的問題,可先截圖保存成功后,在刷新一次頁面,達到截圖導出到pdf的效果。

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助~如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持!


注:相關教程知識閱讀請移步到HTML教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产黄色在线| 日韩欧美成人一区二区三区| 免费在线观看国产黄| 日韩在线视频精品| 成片免费观看| 欧美 日韩 国产 在线观看| 一区在线视频观看| 国产中文在线视频| 久草亚洲一区| 天天综合色天天| 红桃视频国产一区| 中文字幕人成乱码在线观看| 日韩欧美专区在线| 国产一级片在线播放| 日韩亚洲不卡在线| 成人a在线观看| 午夜av一区二区| 天堂在线视频中文网| 国产欧美日韩亚州综合| 亚洲成av人片| 欧美三级在线播放| 精品久久电影| 韩国av一区二区| 丰满少妇一区| 又黄又www的网站| 国产三级视频网站| 日韩三级视频中文字幕| 婷婷久久综合网| 欧美三级中文字幕| 91蜜桃婷婷狠狠久久综合9色| 在线不卡日本| 欧美日韩国产一二| 国产婷婷色一区二区三区| 欧美日韩国产综合久久| 欧美日韩亚洲国内综合网| 国产999精品在线观看| 一本大道一区二区三区| 在线视频观看日韩| 亚洲成年人影院在线| 日本亚洲欧美| 亚洲一卡二卡在线观看| 欧美日韩亚洲国产综合| 国产欧美日韩三级| 国产视频aaa| 久久人人88| 不卡视频一区二区| 蜜桃久久av一区| 亚洲伊人婷婷| 一区二区不卡在线播放| 欧美日韩精品区| 日韩中文字幕二区| 日本黄色一区二区三区| 国产在线看一区| 久久久精品免费免费| 97久久精品午夜一区二区| 91久久视频| 国产aa精品| 欧美日韩综合视频| 久久精品免费看| 九色蝌蚪视频在线| 精品日韩欧美在线| 国产成人精品免费网站| 亚洲国内精品视频| 日韩一级二级三级精品视频| 国产欧美 在线欧美| 一区二区三区在线|网站| 69堂精品视频在线播放| 日韩欧美国产1| 日韩精品视频在线播放| 国产日韩精品在线| 欧美一级欧美三级在线观看| 欧美在线观看视频一区| 欧美日韩国产第一页| 精品视频久久| 精品成人久久久| 精品久久久精品| 日韩欧美色综合| 亚洲视频色图| 国产黄在线观看| 久久久精品福利| 久久精品国产91精品亚洲| 91麻豆精品国产91久久久使用方法 | 在线日韩中文字幕| 久久精品人妻一区二区三区| 日韩国产高清一区| 日本熟女一区二区| 一级特黄aaa大片在线观看| 国产午夜精品一区二区三区视频| 最新中文在线视频| 日韩亚洲一区在线| 中文字幕在线播出| 久久久精品午夜少妇| 欧美日韩人人澡狠狠躁视频| 国产婷婷在线观看| 日韩亚洲欧美中文三级| 蜜桃久久av| 国产亚洲二区| 97久久精品| 999在线视频| 1024国产在线| 欧美中文字幕第一页| 日韩国产成人| 中文字幕狠狠干| 日韩在线视频二区| 最新中文字幕在线| 欧美一级免费看| 国产免费久久| 中文在线第一页| 中文字幕人成乱码在线观看| 中文字幕日韩欧美在线| 不卡专区在线| 中文字幕欧美日韩在线| 日韩久久精品成人| 日韩精品免费观看视频| 97视频在线| 一区二区在线观| 中文字幕精品视频| 国产三级视频网站| 日本啊v在线| 在线视频观看日韩| 一区二区三区精品99久久| 欧美国产一区视频在线观看| 蜜桃视频一日韩欧美专区| 国产123在线| 成人ww免费完整版在线观看| 中文字幕亚洲一区在线观看| 免费视频久久| 一级片免费在线播放| 91久久久精品国产| 欧美在线亚洲一区| 深夜福利亚洲| 日韩欧美三级视频| 亚洲国产欧美久久| 在线观看91精品国产入口| 国产性一级片| 樱花草www在线| 久久精品国产2020观看福利| 91精品国产乱码久久蜜臀| 国产69精品久久久久孕妇国产69久久 | 日韩欧美在线中字| 99视频在线看| 亚洲国产一区自拍| 在线手机中文字幕| 亚洲欧洲日产国码av系列天堂| 视频一区中文字幕国产| 日韩欧美在线精品| 91精品国产欧美日韩| 一区二区在线高清视频| 国产成人精品三级| 中文字幕在线欧美| a视频免费在线观看| 91精品免费观看| 欧美日韩精品免费在线观看视频| 久久精品一级爱片| 欧美中日韩在线| 不卡视频一区二区| 欧美日韩亚洲一区| 中文字幕在线观看亚洲| 日韩亚洲不卡在线| 国产高清在线观看| 国产亚洲污的网站| 国产美女主播视频一区| 91精品久久久久久久久久| 在线视频不卡国产V| 视频一区中文字幕国产| 日韩免费不卡avV| 中文字幕精品国产| 日韩欧美在线不卡| 在线三级av| √天堂资源中文www| 久久精品久久精品亚洲人| 国产一区在线不卡| 日韩精品第一区| 国产欧美一级| 日韩欧美在线影院| 一区二区91| 国产区日韩欧美| 99精品人妻国产毛片| 国产福利不卡| 欧美日韩亚洲国内综合网| 成人无遮挡免费网站视频在线观看| 天堂在线一区二区三区| 国产视频1区| 中文字幕亚洲二区| 国产成人精品999| 91精品国产丝袜白色高跟鞋| 日本视频久久久| 国产99亚洲| 欧美日韩精品综合| 欧美一级久久| 国产激情99| 欧洲精品二区| 日韩精品在线视频观看| 中文字幕精品在线视频| 国产激情在线视频| 国产高清在线视频| 日韩中文字幕二区| 久久久99久久| 亚洲成年人影院在线| 在线一区免费| 快she精品国产999| 国产高清一级片| 国产字幕中文| 久久精品视频免费看| 国产偷国产偷亚洲清高网站 | 国产日韩av高清| 国产一区在线精品| 亚洲福利视频在线| 久久电影国产免费久久电影| 最近中文字幕在线中文高清版| 欧美婷婷久久| 日韩亚洲不卡在线| www.老鸭窝.com| 自拍日韩亚洲一区在线| 亚洲免费观看视频| 日韩中文字幕在线视频观看| 国产丝袜一区| 三级网站免费观看| 亚洲国产午夜精品| 五月天久久比比资源色| 国产网站av| 欧美日韩精品在线视频| 欧美日韩在线综合| 国产不卡一区二区在线观看 | 91精品国产综合久久久久久| 久久精品视频免费看| 亚洲国产午夜精品| 一级片免费在线| 精品一二线国产| 国产亚洲二区| 欧美日韩中文字幕一区| 91欧美在线| 国产福利久久久| 日韩在线中文视频| 欧美日韩中文在线| 国产欧美日韩中文| 91精品国产自产91精品| 亚洲第一精品在线| 中文字幕日韩在线观看| 中文字幕 乱码 中文乱码91| 日韩久久在线| 欧美日韩国产一区在线| 一区在线免费| 久久久91精品国产| 日韩在线中文视频| 国产v日产∨综合v精品视频| 国产三级第一页| 国产亚洲污的网站| 国产欧美中文在线| 久久欧美中文字幕| 亚洲一区在线观看免费| 日韩区欧美区| 精品999在线| 日韩精品在线免费观看视频| 久久精品一二三| 91最新在线| 久久久久久久久99精品| 在线视频你懂得一区| 99这里有精品视频| 精品日韩视频在线观看| 91精品国产91| 中文国产字幕在线观看| 欧美日韩国产在线| 91精品国产自产在线观看永久∴| 粉嫩粉嫩芽的虎白女18在线视频| 亚洲高清视频在线| 日韩欧美中文视频| 一区二区视频免费看| 日韩中文字幕久久| 粉嫩粉嫩芽的虎白女18在线视频| 在线观看中文字幕一区| 久久精品日韩无码| 中文字幕不卡三区| 午夜国产福利在线观看| 国产婷婷一区二区| www.eeuss影院| 国产九九在线| 国产午夜精品视频免费不卡69堂 | 亚洲娇小xxxx欧美娇小| 麻豆一区二区99久久久久| 国产在线二区| 精品乱人伦一区二区三区| 日韩在线 中文字幕| 国产福利免费在线观看| 欧美日韩国产综合久久| 一区二区三区在线不卡| 国产一区二中文字幕在线看| 国产裸舞福利在线视频合集| √天堂资源中文www| 色综合久久六月婷婷中文字幕| 欧美二三四区| 日韩免费精品视频| 日韩精品视频在线观看视频| a天堂中文在线官网在线| 国产天堂素人系列在线视频| 91精品国产综合久久福利| 精品日本视频| 国产羞羞视频在线播放| 日韩国产亚洲欧美| 精品日韩在线| 日韩欧中文字幕| 91精品国产综合久久久久久| 欧美三级日韩三级国产三级| 91精品国产综合久久精品app| 精品久久人人做人人爽| 精品日韩av| 日韩区欧美区| 午夜亚洲一区| 日韩欧美在线精品| 国产视频一区三区| 欧美日韩乱国产| 99综合精品久久| 欧美日韩国产成人| 欧美 亚洲 精品 三区| 日韩中文字幕网| 欧美日韩精品免费| 国产不卡一区二区在线观看 | 日本啊v在线| 在线不卡日本| 蜜桃视频中文字幕| 欧美日韩综合在线免费观看| 91精品国产手机| 免费视频二区| 国产小视频在线观看免费| 蜜桃精品视频| 国产不卡一区二区在线观看| 91麻豆精品在线| 午夜一区二区三区| 日韩区欧美区| 亚洲成av人综合在线观看| 亚洲综合日韩| 中文天堂资源在线| 日韩欧美成人一区二区三区| 国产福利三区| 午夜亚洲福利| 国产乱国产乱老熟300部视频| 欧美日韩国产首页在线观看| 搞黄在线观看| 欧美日韩不卡在线视频| 国产在线观看91| 亚洲国产91精品在线观看| 国产一区 二区 三区一级| 999视频精品| 日韩免费不卡avV| 日韩视频在线免费看| 婷婷中文字幕一区三区| 国产福利一区二区| 欧美日韩国产综合网| 欧美日韩在线不卡| 国产高清精品在线观看| 日韩免费精品| 日韩在线视频一区二区三区| 亚洲中午字幕| 91久久精品国产91久久| 欧美日韩国产123区| 最近免费中文字幕在线第一页| 日韩欧美99| 中文字幕伊人| 精品一二三区视频| 国产亚洲短视频| 亚洲制服一区| 欧美成人vr18sexvr| 国产在线拍偷自揄拍精品| 日韩欧美一二三区| 91精品国产全国免费观看| 欧美日韩在线播放一区| 蜜臀91精品国产高清在线观看| 美国av一区二区| 国产主播中文字幕| 99热最新网址| 精品999视频| 亚洲一区精品在线| 香蕉av一区| 亚洲一级二级| 成人a在线观看| а√天堂中文在线资源8| 国产午夜精品视频免费不卡69堂| 一区二区在线视频播放| 日韩精品视频免费看| 亚洲 欧美 精品| 欧美日韩免费不卡视频一区二区三区| 日韩精品资源二区在线| 亚洲三级中文字幕| 日韩在线观看视频一区二区| 久精品在线观看| 中文字幕精品一区二区三区在线| 一区二区三区高清在线| 高清国产一区| 一区二区日韩av| 日韩欧美在线第一页| 亚洲男人在线| 亚洲第一视频网站| 欧美日韩亚洲第一| 天堂在线中文资源| 五月天久久比比资源色| 一级片免费在线播放| 国产高潮久久久| 国产在线观看色| 国产黄色在线看| 久草中文在线观看|