现在的位置: 首页 > 综合 > 正文

转换 HTML 与 PDF 格式文档

2017年12月06日 ⁄ 综合 ⁄ 共 927字 ⁄ 字号 评论关闭

一、wkhtmltopdf:利用 webkit 内核将 HTML 转为 PDF

webkit 是一个高效、开源的浏览器内核,包括 Chrome 和 Safari 在内的(当然也包括国内那些极速啥的)浏览器都使用了这个内核。Chrome 打印当前网页的功能,其中有一个选项就是直接“保存为 PDF”。

Chrome 打印为 PDF

wkhtmltopdf 就是这样一个工具,使用 webkit 内核的 PDF 渲染引擎来将 HTML 页面转换为 PDF。高保真,质量很不错,server 上安装相关中文字体即可支持中文文档。更重要的是,使用非常简单。

<?php
 //将网页内容转换为 PDF
 exec("wkhtmltopdf http://www.google.com google.pdf");
 //将本地 HTML 文件转为 PDF
 exec("wkhtmltopdf my.html my.pdf");
?>

当然它本身提供了一些 PHP 集成的方法,但我还是觉得直接用 exec 调用外部程序更方便一些。

HTML 源文件和生成的 PDF 文件对比效果图——

wkhtmltopdf html 源文件

wkhtmltopdf 生成的pdf

关于中文渲染的问题,只要在服务器上安装相应字体即可。如果是 CentOS 系统,一个命令就能搞定:

$ yum install fonts-chinese.noarch

另外注意在 HTML 文档中也要指定字符集

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

———- 我是猥琐的分割线,割割更健康 ———-

二、pdf2htmlEX:将 PDF 转为 HTML 网页

反过来,可否将 PDF 转化为 HTML 网页呢?(这样蛋疼的需求,我等是无法预料的……)

pdf2htmlEX 的作者是一名中国人,他实现将了 PDF 转换为 HTML,主要针对学术论文进行优化。这个工具的出现在Hacker News上引发了热烈讨论。看下
demo 你就会感叹它的效果是多么惊艳:

它的用法也非常简单,适合各路 PhD 们展示论文用。

$ pdf2htmlEX /path/to/foobar.pdf

综上

本文介绍了 wkhtmltopdf 和 pdf2htmlEX 这两个将 HTML 和 PDF 格式文档互相转换的神器。

抱歉!评论已关闭.