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%

最新文章

  1. C#利用服务器实现客户端之间通信
  2. java异步式Socket响应数据获取方案
  3. 介绍linux下vi命令的使用
  4. Android快捷键
  5. Selenium介绍
  6. 项目部署到Tomat报错:jar not loaded.See Servlet Spec 2.3, section 9.7.2. Offending
  7. 团体程序设计天梯赛-练习集L1-017. 到底有多二
  8. php学习之道:WSDL具体解释(三)
  9. Java基础知识总结--String、StringBuffer、StringBuilder
  10. Redis梳理
  11. ES之五:ElasticSearch聚合
  12. python字符串魔法
  13. 洛谷P3567 KUR-Couriers [POI2014] 主席树/莫队
  14. 016-插件使用-head
  15. Apollo快速安装视频教程
  16. Tornado简介
  17. [翻译] SCRecorder
  18. Cocos2d-x stack corruption detected: aborted
  19. bzoj2152: 聪聪可可 树分治
  20. MySQL 5.7忘记密码

热门文章

  1. JAVA WEB项目中各种路径的获取
  2. Python数据分析笔记目录
  3. Java动态加载JAR包
  4. T1加权像(T1 weighted image,T1WI)
  5. MySQLdb的一些经验
  6. ios显示一个下载banner
  7. PHP中常见错误
  8. 多线程AutoResetEvent
  9. 关于开放式CNC系统实时软件控制系统的一些简单分析
  10. Windows Server 2012 R2桌面化详细设置图解