pdf2htmlEx安装及测试

时间:2023-03-08 16:38:16

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.****.net/chijiaodaxie/article/details/47684089

http://blog.****.net/chijiaodaxie/article/details/50974314

http://blog.****.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%