pdf2htmEx转换效果优秀,可以将pdf转换为html文件,转换速度很快
有两种输出形式,
1、一个pdf对应一个html文件,转换出来的html文件较大
2、一个pdf对应多个html页面,且可实现页面自动懒加载
缺点:转换出来的html文件比原始文件要大、对html5支持的好,对IE8及以下兼容差。
官方提供的代码依赖项目繁多,且安装复杂,对centos支持差,有提供docker镜像。
个别pdf转换之后会生成woff字体文件,导致生成的体积比较大。
对中文字体支持的不好
官方demo:
http://coolwanglu.github.io/pdf2htmlEX/demo/geneve.html
http://coolwanglu.github.io/pdf2htmlEX/demo/demo.html
http://coolwanglu.github.io/pdf2htmlEX/demo/cheat.html
教程:
http://blog.csdn.net/chijiaodaxie/article/details/47684089
http://blog.csdn.net/chijiaodaxie/article/details/50974314
http://blog.csdn.net/knight_zhen/article/details/48268841
docker安装:docker安装不再介绍
安装docker镜像,运行如下命令:docker pull bwits/pdf2htmlex
原生安装:sudo add-apt-repository ppa:coolwanglu/pdf2htmlex && sudo apt-get update && sudo apt-get install pdf2htmlEX
手动编译源文件安装(ubuntu14.04):
1、源文件安装之前需要注意设置INCLUDE_PATH环境变量,既设置在 ~/.bashrc文件的末尾添加export INCLUDE_PATH=/usr/include/glib-2.0
2、安装FontForge
2.1、安装git
sudo apt-get install git;
2.2、安装依赖
sudo apt-get install packaging-dev pkg-config python-dev libpango1.0-dev libglib2.0-dev libxml2-dev giflib-dbg libjpeg-dev libtiff-dev uthash-dev libspiro-dev build-essential automake flex bison;
2.3、安装unifont
sudo apt-get install unifont;
2.4、编译并安装libspiro
git clone https://github.com/fontforge/libspiro.git
cd libspiro
autoreconf -i
automake --foreign -Wall
./configure
make
sudo make install
2.5、编译并安装libuninameslist
git clone https://github.com/fontforge/libuninameslist.git
cd libuninameslist
autoreconf -i
automake --foreign
./configure
make
sudo make install
2.6、编译并安装fontforge
cd fontforge;
./bootstrap;
./configure;
make;
sudo make install;
sudo ldconfig;
3、安装poppler
wget https://poppler.freedesktop.org/poppler-0.49.0.tar.xz
./configure --enable-xpdf-headers --prefix=/usr
make;
sudo make install;
4、安装pdf2htmlEX
git clone git://github.com/coolwanglu/pdf2htmlEX.git
cd pdf2htmlEX
cmake . && make && sudo make install
操作系统:ubuntu14.04
内存:1GB
处理器:单核
测试1:
测试步骤:
1:在~/目录创建pdf子目录,将spring-framework-reference.pdf放入pdf目录,
2:运行命令:sudo pdf2htmlEX --zoom 1.3 spring-framework-reference.pdf
待转换的pdf文件:
内容:纯文字(有表格)
大小:5.46M
页数:907页
生成的html:
形式 |
用时 |
总输出大小 |
单个页面大小 |
单个文件 |
1分24秒 |
26.3M |
无 |
多个文件(懒加载) |
1分22秒 |
22.9M |
20k左右 |
测试2:
测试步骤:
1:在~/目录创建pdf子目录,将spring-framework-reference.pdf放入pdf目录,
2:运行命令:sudo pdf2htmlEX --zoom 1.3 GROOVY入门经典.pdf
待转换的pdf文件:
内容:扫描的pdf
大小:15.6M
页数:372页
生成的html:
形式 |
用时 |
总输出大小 |
单个页面大小 |
单个文件 |
1分37秒 |
53.9M |
无 |
多个文件(懒加载) |
1分34秒 |
40.5M |
100k左右 |
测试3
测试步骤:
1:在~/目录创建pdf子目录,将spring-framework-reference.pdf放入pdf目录,
2:单个文件运行命令:sudo pdf2htmlEX --zoom 1.3 RocketMQ_design.pdf
3:多个文件运行命令:sudo pdf2htmlEX --embed cfijo --split-pages 1 --dest-dir out --page-filename RocketMQ_design-%d.page ~/pdf/RocketMQ_design.pdf
待转换的pdf文件:
内容:有图片及流程图的文字pdf
大小:1.25M
页数:37页
生成的html:
形式 |
用时 |
总输出大小 |
单个页面大小 |
单个文件 |
1分37秒 |
53.9M |
无 |
多个文件(懒加载) |
1分34秒 |
40.5M |
100k左右 |
使用pdftoppm将pdf转换成图片
教程:https://websetnet.com/zh/convert-pdf-bitmap-image-pdftoppm/
缺点:对中文支持力度不够,转换时间长,输出文件大
测试1:
测试步骤:
1:在~/目录创建pdf子目录,将spring-framework-reference.pdf放入pdf目录,
2:分别运行命令:
pdftoppm -jpeg spring-framework-reference.pdf spring_framework_reference
pdftoppm -png spring-framework-reference.pdf spring_framework_reference
待转换的pdf文件:
内容:纯文字(有表格)
大小:5.46M
页数:907页
生成的图片:
格式 |
用时 |
总输出大小 |
单个页面大小 |
画面比例 |
jpeg |
1分05秒 |
207M |
250k左右 |
100% |
png |
5分58秒 |
254M |
300k左右 |
100% |
测试2:
测试步骤:
1:在~/目录创建pdf子目录,将GROOVY入门经典.pdf放入pdf目录,
2:分别运行命令:
pdftoppm -jpeg GROOVY入门经典.pdf GROOVY入门经典
pdftoppm -png GROOVY入门经典.pdf GROOVY入门经典
待转换的pdf文件:
内容:扫描的pdf
大小:15.6M
页数:372页
生成的图片:
格式 |
用时 |
总输出大小 |
单个页面大小 |
画面比例 |
jpeg |
0分21秒 |
54.4M |
150k左右 |
100% |
png |
1分44秒 |
37.6M |
100k左右 |
100% |