婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > html轉(zhuǎn)換為pdf案例的一些總結(jié)(多圖推薦)

html轉(zhuǎn)換為pdf案例的一些總結(jié)(多圖推薦)

熱門標(biāo)簽:周口導(dǎo)航地圖標(biāo)注 朝陽自動(dòng)外呼系統(tǒng) 400電話辦理尚景 昌邑外呼系統(tǒng) 默納克系統(tǒng)外呼顯示inns 400電話是在哪里申請(qǐng) 地圖標(biāo)注地點(diǎn)下載 商丘電話自動(dòng)外呼系統(tǒng)怎么收費(fèi) 東莞人工外呼系統(tǒng)多少錢

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

客戶端模式:前后臺(tái)調(diào)用客戶端程序,利用客戶端程序的功能完成pdf文件轉(zhuǎn)換。本次測(cè)試工具有:wkhtmltopdf和PhantomJS。java jar包解析類模式:java代碼解析css樣式,翻譯html文件為pdf文件。本次測(cè)試類有:IText,F(xiàn)lying Sauser,PD4ML。js 前端解析模式:js前端解析html文件為pdf文件,本次測(cè)試案例有:html2canvas。

本次針對(duì)網(wǎng)上介紹的方案,結(jié)合實(shí)際項(xiàng)目的需求,做一一測(cè)試,在性能和功能方面做如下分析。

1.測(cè)試頁面介紹

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

2.wkhtmltopdf測(cè)試

wkhtmltopdf是一個(gè)使用webkit網(wǎng)頁渲染引擎開發(fā)的用來將html轉(zhuǎn)成 pdf的工具,可以跟多種腳本語言進(jìn)行集成來轉(zhuǎn)換文檔。官網(wǎng)地址http://wkhtmltopdf.org/

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

功能測(cè)試:直接在cmd里輸入測(cè)試指令,可查看處理進(jìn)度。

第一個(gè)參數(shù):wkhtmltopdf.exe所在的路徑

第二個(gè)參數(shù):需要轉(zhuǎn)換為pdf的html頁面

第三個(gè)參數(shù):pdf文件路徑及文件名

頁面導(dǎo)出效果如下:

測(cè)試說明:

通過測(cè)試發(fā)現(xiàn),wkhtmltopdf對(duì)bootstap的CSS樣式整體支持較好。對(duì)css3的新特性如圓形圖片樣式支持行不好。部分頁面樣式會(huì)失效。對(duì)于圖表展示,eachart圖表導(dǎo)出程序會(huì)報(bào)錯(cuò),不支持。不過echart有圖表轉(zhuǎn)換為圖片的接口,可通過獲取圖片地址的方式導(dǎo)出到pdf中。

3.PhantomJS測(cè)試

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

PhantomJS可做網(wǎng)頁分析,功能很多,本次僅調(diào)用網(wǎng)頁的截圖功能。在cmd中的測(cè)試如下:

測(cè)試頁面導(dǎo)出效果如下:

測(cè)試說明:

通過測(cè)試發(fā)現(xiàn),PhantomJS對(duì)bootstap的樣式支持較好。對(duì)css3的新特性如圓形圖片樣式支持行不好。部分頁面樣式會(huì)失效。對(duì)于echart圖表展示,也可直接導(dǎo)出。效果如下:

3.IText和Flying Sauser

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

技術(shù)特點(diǎn):基于java編程將html的css樣式做解析處理,目前僅對(duì)較簡單的頁面和樣式支持。對(duì)于css3的樣式和關(guān)聯(lián)復(fù)雜的css樣式兼容性極差。當(dāng)頁面內(nèi)容較長時(shí),處理時(shí)間慢。參考地址:https://code.google.com/archive/p/flying-saucer/

測(cè)試結(jié)果:本實(shí)驗(yàn)的測(cè)試頁面無法出來,普通的測(cè)試頁面效果如下:

測(cè)試說明:

通過測(cè)試發(fā)現(xiàn),IText和Flying Sauser這兩個(gè)開源項(xiàng)目對(duì)css3的兼容性基本不行,通過查閱資料,發(fā)現(xiàn)這種技術(shù)比較陳舊,這個(gè)開源項(xiàng)目現(xiàn)在也沒有更新和維護(hù)了。對(duì)于簡單表格,統(tǒng)計(jì)數(shù)據(jù)的導(dǎo)出,更新的技術(shù)有bootstrap table,easyui datagrid表格導(dǎo)出。網(wǎng)上介紹的這種方案不建議使用。

4.PD4ML測(cè)試

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

該軟件的優(yōu)點(diǎn)是:

支持的HTML標(biāo)簽、CSS屬性較全,轉(zhuǎn)換失真比較小,可以使用HTML+CSS實(shí)現(xiàn)精確的布局控制。對(duì)網(wǎng)頁文件標(biāo)簽、CSS語法錯(cuò)誤的容錯(cuò)性比較好。對(duì)不用額外的控制,就支持圖片的轉(zhuǎn)化輸出。

該軟件的缺點(diǎn)是:

不開源,最新的demo版本,下載測(cè)試以后,發(fā)現(xiàn)不支持中文轉(zhuǎn)換。必須購買商業(yè)版本才可以。(這里很坑,測(cè)試亂碼問題通不過,后面發(fā)現(xiàn)是本來就不支持)。破解后的一些舊版本可以解決亂碼問題,但是支持的css樣式?jīng)]有新版本的全。

測(cè)試結(jié)果:

測(cè)試說明:

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

5.html2canvas測(cè)試

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

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

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

頁面截圖效果如下:

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

測(cè)試說明:

通過測(cè)試發(fā)現(xiàn),html2canvas對(duì)bootstap的樣式支持較好。對(duì)css3的新特性如圓形圖片樣式支持行不好。它的主要優(yōu)點(diǎn)是輕前端,對(duì)于改變?cè)许撁娴臉邮絾栴},可先導(dǎo)出圖片后,重新刷新一次頁面。

6.總結(jié)

通過對(duì)以上案例的測(cè)試,網(wǎng)上介紹的常用html轉(zhuǎn)換為pdf的方法,大多數(shù)就是簡單的html轉(zhuǎn)換可用,但是在實(shí)際應(yīng)用中,還是存在諸多問題,難以應(yīng)用。通過對(duì)這些方法的實(shí)現(xiàn)原理分析,可得出以下結(jié)論:

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

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助~如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持!

標(biāo)簽:揭陽 福建 那曲 湖南 沈陽 銅陵 健身房 阿拉善盟

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《html轉(zhuǎn)換為pdf案例的一些總結(jié)(多圖推薦)》,本文關(guān)鍵詞  html,轉(zhuǎn)換,為,pdf,案例,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《html轉(zhuǎn)換為pdf案例的一些總結(jié)(多圖推薦)》相關(guān)的同類信息!
  • 本頁收集關(guān)于html轉(zhuǎn)換為pdf案例的一些總結(jié)(多圖推薦)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美精品自拍偷拍| 亚洲精品videosex极品| 国产91精品入口| 亚洲久草在线视频| xnxx国产精品| 欧美日韩免费电影| youjizz久久| 国产麻豆视频精品| 日韩精品一级二级| 亚洲欧美另类小说视频| 国产精品免费视频一区| 精品国产乱码久久| 欧美一级久久久| 欧美美女激情18p| 91福利在线导航| 色综合久久综合中文综合网| av在线不卡电影| www.综合网.com| av一本久道久久综合久久鬼色| 国产成人免费视频一区| 久久国产麻豆精品| 日韩国产欧美视频| 日韩在线观看一区二区| 首页综合国产亚洲丝袜| 亚洲国产精品嫩草影院| 一区二区三区在线视频观看58| 国产精品美女久久久久久久网站| 国产色综合久久| 久久久久久久免费视频了| 欧美电影免费观看高清完整版在| 日韩一区二区三区三四区视频在线观看 | 亚洲欧美视频在线观看| 国产精品不卡一区二区三区| 国产肉丝袜一区二区| 久久久久久久久久看片| 久久久久久久久久久久电影 | 成人小视频免费观看| 国产成人亚洲综合a∨婷婷图片| 国产盗摄一区二区| 成人免费视频国产在线观看| 不卡的av中国片| 99久久久精品免费观看国产蜜| 91在线porny国产在线看| 91亚洲永久精品| 欧美性猛片aaaaaaa做受| 91精品婷婷国产综合久久性色| 日韩一区二区三区精品视频| 26uuu成人网一区二区三区| 国产人妖乱国产精品人妖| 国产精品卡一卡二卡三| 一级特黄大欧美久久久| 五月婷婷综合网| 另类小说综合欧美亚洲| 国产成人亚洲综合a∨婷婷| 99热国产精品| 欧美日韩亚洲综合一区二区三区| 欧美一级一区二区| 国产欧美视频一区二区| 一区二区三区精品视频在线| 青青草97国产精品免费观看无弹窗版| 国产剧情在线观看一区二区| 色综合天天综合网天天看片| 欧美精品v国产精品v日韩精品 | 久久亚洲免费视频| 国产精品国产自产拍在线| 一级特黄大欧美久久久| 久久69国产一区二区蜜臀| 成人激情免费网站| 欧美日韩一卡二卡| 久久日一线二线三线suv| 日韩码欧中文字| 日韩精品免费专区| 成人一区二区三区视频 | 日韩精品成人一区二区三区| 看电影不卡的网站| 不卡高清视频专区| 欧美区在线观看| 日本一区二区三区久久久久久久久不 | 成人欧美一区二区三区视频网页 | 国产成人啪免费观看软件| 在线看日韩精品电影| 亚洲精品在线观看视频| 一区二区三区欧美久久| 国产中文字幕精品| 欧美日韩中文字幕精品| 国产精品午夜在线观看| 美女网站一区二区| 在线免费观看日本一区| 精品在线一区二区| 在线亚洲高清视频| 欧美国产乱子伦| 免费在线观看视频一区| 色婷婷综合久久久中文一区二区| 久久久久国产一区二区三区四区| 亚洲成人综合在线| 97精品久久久午夜一区二区三区 | 99国产精品国产精品毛片| 日韩亚洲欧美在线| 亚洲一卡二卡三卡四卡| 成人丝袜高跟foot| 日韩精品一区二区三区四区视频| 一区二区三区四区在线| 风间由美一区二区三区在线观看| 欧美人牲a欧美精品| 亚洲欧美区自拍先锋| 高清不卡一区二区| 欧美精品一区二区三区四区| 亚洲国产精品一区二区久久恐怖片| 丁香一区二区三区| 久久老女人爱爱| 亚洲精品一区二区三区99| 亚洲成人三级小说| 91色乱码一区二区三区| 欧美国产激情一区二区三区蜜月| 精品一区二区三区在线观看国产 | 国产一区二区三区香蕉| 日韩欧美黄色影院| 视频一区二区三区在线| 欧美体内she精高潮| 亚洲图片激情小说| eeuss鲁片一区二区三区| 国产亚洲欧洲997久久综合 | 国产裸体歌舞团一区二区| 欧美一区二区视频网站| 日韩精品亚洲专区| 欧美人妇做爰xxxⅹ性高电影| 亚洲午夜精品久久久久久久久| 91在线小视频| 亚洲男人的天堂在线观看| 色综合久久天天| 蜜臀av性久久久久蜜臀aⅴ| 国产日产欧美一区二区视频| 91黄色在线观看| 国产一区二区在线观看免费 | 欧美日韩视频在线一区二区 | 国产伦精品一区二区三区视频青涩 | 国产在线一区二区| 成人欧美一区二区三区1314| 欧美精品粉嫩高潮一区二区| 春色校园综合激情亚洲| 日韩精品一区第一页| 成人免费一区二区三区在线观看| 欧美一区二区播放| 欧美在线你懂的| 成人午夜视频福利| 日本aⅴ精品一区二区三区 | 久久蜜桃一区二区| 欧美日本在线播放| 99久久婷婷国产| 国产制服丝袜一区| 免费不卡在线观看| 亚洲狠狠爱一区二区三区| 中文字幕av一区二区三区免费看 | 国产精品无遮挡| 日韩三级视频在线看| 色一区在线观看| 成人黄色在线视频| 国产精品一二三在| 久久精品久久精品| 免费一级欧美片在线观看| 性做久久久久久免费观看| 一区二区三区日韩| 一区二区三区日本| 一区二区不卡在线视频 午夜欧美不卡在 | 91香蕉视频在线| 国产1区2区3区精品美女| 国产一区二区三区不卡在线观看| 免费看欧美美女黄的网站| 亚洲成人av一区二区| 亚洲图片欧美综合| 午夜激情一区二区三区| 午夜精品影院在线观看| 午夜精品福利一区二区三区av| 亚洲一区在线观看视频| 亚洲愉拍自拍另类高清精品| 一区二区欧美在线观看| 亚洲国产美国国产综合一区二区| 玉米视频成人免费看| 成人免费在线播放视频| 国产精品高潮久久久久无| 中文字幕在线不卡一区| 中文字幕一区二区三区乱码在线 | 欧美日韩在线直播| 精品视频在线免费看| 欧美视频中文字幕| 欧美日韩黄色影视| 91精品黄色片免费大全| 精品精品国产高清一毛片一天堂| 精品999在线播放| 中文字幕久久午夜不卡| 亚洲欧洲国产日韩| 亚洲电影视频在线| 免费不卡在线观看| 国产在线看一区| 波多野结衣亚洲| 欧美日韩视频不卡| 2022国产精品视频| 亚洲天堂网中文字| 日韩1区2区3区| 北条麻妃一区二区三区|