php使用pdf2htmlex,转换 HTML 与 PDF 格式文档的神器
企業 Web 項目開發中經常會有生產 PDF 格式文檔的需求,例如 PDF 賬單下載,月末生成各種統計報表等等。我們要幫助企業實現自動化,也就是說無需人工干預,程序能夠按需從 DB 中拿數據自主生成。
項目使用 PHP 開發,于是調研了一下 PHP 的 PDF 類庫,有?dompdf,TCPDF 之流,總的來說,各個項目主頁上自夸的成分居多,基本思想都是類似的,即先用 HTML 寫一個模板,每次往模板里填上數據,就可以轉成
PDF 輸出。但真正用起來就會發現各種毛病各種坑爹,部分 CSS 屬性不支持啦,中文亂碼啦,諸如此類。最終讓我們拋棄 dompdf 的貌似是分頁的一個大坑,據說一個表格
轉換一下思路,其實我們只是要把 HTML 轉成 PDF 而已,并不是必須要使用 PHP 這種低效的語言來做它并不擅長的事情。 Linux 下有沒有二進制程序可以做這項工作呢?大殺氣登場,撒花歡迎~
一、wkhtmltopdf:利用 webkit 內核將 HTML 轉為 PDF
webkit 是一個高效、開源的瀏覽器內核,包括 Chrome 和 Safari 在內的(當然也包括國內那些極速啥的)瀏覽器都使用了這個內核。Chrome 打印當前網頁的功能,其中有一個選項就是直接“保存為 PDF”。
wkhtmltopdf?就是這樣一個工具,使用 webkit 內核的 PDF 渲染引擎來將 HTML 頁面轉換為 PDF。高保真,質量很不錯,server 上安裝相關中文字體即可支持中文文檔。更重要的是,使用非常簡單。
//將網頁內容轉換為 PDF
exec("wkhtml遇新是直朋能到分覽支體調topdf http://www.google.com google.pdf");
//將本地 HTML 文件轉為 PDF
exec("wkhtml遇新是直朋能到分覽支體調topdf my.html my.pdf");
?>
當然它本身提供了一些 PHP 集成的方法,但我還是覺得直接用 exec 調用外部程序更方便一些。
HTML 源文件和生成的 PDF 文件對比效果圖——
關于中文渲染的問題,只要在服務器上安裝相應字體即可。如果是 CentOS 系統,一個命令就能搞定:
$yum install fonts-chinese.noarch
另外注意在 HTML 文檔中也要指定字符集
———- 我是猥瑣的分割線,割割更健康 ———-
二、pdf2htmlEX:將 PDF 轉為 HTML 網頁
反過來,可否將 PDF 轉化為 HTML 網頁呢?(這樣蛋疼的需求,我等是無法預料的……)
pdf2htmlEX?的作者是一名中國人,他實現將了 PDF 轉換為 HTML,主要針對學術論文進行優化。這個工具的出現在Hacker News上引發了熱烈討論。看下
demo 你就會感嘆它的效果是多么驚艷:
它的用法也非常簡單,適合各路 PhD 們展示論文用。
$pdf2htmlEX比抖朋要插支一圈不者地 /path/to/foobar.pdf
綜上
本文介紹了?wkhtmltopdf?和?pdf2htmlEX?這兩個將 HTML 和 PDF 格式文檔互相轉換的神器。但是其實這篇 blog 寫來只是因為塵埃落定太久沒更新了,寫點東西更新一下而已
— EOF —
本文來源于網絡:查看?>https://blog.csdn.net/wide288/article/details/41982255
總結
以上是生活随笔為你收集整理的php使用pdf2htmlex,转换 HTML 与 PDF 格式文档的神器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网红“美七” 否认炒作 曾因泰国报平安引
- 下一篇: php zhegnze_php 正则表达