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%

pdf2htmlEx安装及测试的更多相关文章

  1. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接

    一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径“C:\Soft\mysql-5.6.24-winx64” 三.环境配置 计算 ...

  2. OpenCV2+入门系列(一):OpenCV2.4.9的安装与测试

    这里假设看到这篇文章的人都已经对OpenCV以及机器视觉等最基础的概念有了一定的认识,因此本文不会对OpenCV做任何的介绍,而是直接介绍OpenCV2.4.9的安装与测试.此外本文只是简单的介绍如何 ...

  3. 决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试

    决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试 [TOC] Apache ZooKeeper 单机模式安装 创建hadoop用户&赋予sudo权限, ...

  4. coreseek实战(一):windows下coreseek的安装与测试

    coreseek实战(一):windows下coreseek的安装与测试 网上关于 coreseek 在 windows 下安装与使用的教程有很多,官方也有详细的教程,这里我也只是按着官方提供的教程详 ...

  5. Window下memcached安装与测试步骤

    如何在Window下memcached安装与测试步骤 工具/原料 电脑 memcached 软件 方法/步骤 软件包下载 下载Memercached For Windows:http://downlo ...

  6. 【MySql】5.6.14版本的安装和测试

    当前状态:apache2.4.6和php5.5.6已经安装成功: mysql的安装和测试: 一.安装mysql5.6.14,参考http://wenku.baidu.com/link?url=_0jk ...

  7. jdbc_odbc SQLserver 驱动安装及测试

    有2次被问到同一个问题,尽管博客园是.net的园子,我还是分享下吧.PS:我现在做的.net,以前学过点java.献丑了. ------------------ 原始邮件 -------------- ...

  8. mosquitto在Linux环境下的部署/安装/使用/测试

    mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...

  9. http_load安装与测试参数分析 - 追求自由自在的编程 - ITeye技术网站

    http_load安装与测试参数分析 - 追求自由自在的编程 - ITeye技术网站 http_load -p 50 -s 120 urls

随机推荐

  1. html5图像组合

    一 图像组合 1.绘制阴影 在绘制阴影效果时,需要使用Canvas的多个属性配合完成 shadowBlur设置阴影的迷糊级数 shadowOffsetX设置形状与阴影的水平距离 shadowOffse ...

  2. nodejs net模块

    net模块是同样是nodejs的核心模块.在http模块概览里提到,http.Server继承了net.Server,此外,http客户端与http服务端的通信均依赖于socket(net.Socke ...

  3. UVA 1401 Remember the Word

    字典树优化DP                                Remember the Word Time Limit: 3000MS   Memory Limit: Unknown ...

  4. highcharts饼状图使用案例

    在公司由于需要对订单数据进行分析,故使用到了highcharts工具 <block name="Js"> <script type="text/java ...

  5. iptables过滤设置服务端口

    1.为SSH跟换连接端口 修改SSH配置文件:/etc/ssh/sshd_config #找到Port 22,这里是标识默认使用22端口,修改为想要的端口. Port Port 2.查看iptable ...

  6. Unix网络单词汇总

    Chrome开发者工具 Elements(元素).Network(网络).Sources(源代码:调试JS的地方).Timeline(时间线).Profiles(性能分析).Resources(资源: ...

  7. spring实例化bean的三种方式

    公共使用的实体

  8. 无意之间发现的Servlet3.0新特性@WebServlet

    今天无意之间看到了一个注解,这个注解就是@WebServlet,@WebServlet 用于将一个类声明为 Servlet,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为 Se ...

  9. 理解Attribute

    注:本文转载自http://kb.cnblogs.com/page/87531/ Attribute与Property 的翻译区别 Attribute 一般译作“特性”,Property 仍然译为“属 ...

  10. 【Android自学日记】使用DatePicker以及TimePicker显示当前日期和时间

    DatePicker 1.获取一个日历对象: Calendar cal=Calendar.getInstance(); 2.获取当前日期及时间: int year=cal.get(Calendar.Y ...