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. MyBatis源码分析(4)—— Cache构建以及应用

    @(MyBatis)[Cache] MyBatis源码分析--Cache构建以及应用 SqlSession使用缓存流程 如果开启了二级缓存,而Executor会使用CachingExecutor来装饰 ...

  2. RabbitMQ学习系列(二): RabbitMQ安装与配置

    上一篇,简单介绍了RabbitMQ的情况还有一些相关的概念,这一篇,会讲讲 RabbitMQ安装与配置. 1.安装 Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装RabbitM ...

  3. mysql-开启慢查询&所有操作记录日志

    在运营网站的过程中,可能会遇到网站突然变慢的问题,一般情况下和 MySQL 慢有关系,可以通过开启慢查询,找到影响效率的 SQL ,然后采取相应的措施.下面介绍一下如何开启慢查询: 1.开启慢查询 找 ...

  4. js自动轮播图片的两种循环方法(原创)

    用5个div,布局从左到右5张图片,从左到右5个div分别指定ID为img1,img2,img3,img4,img5.(背景是relative,5个div是相对于背景absolute定位) 显示如下: ...

  5. 蒙特卡洛模拟入门的几个小例子(R语言实现)

    嗯,第一个例子是怎么用蒙特卡洛模拟求pi的值:第二个是用蒙特卡洛模拟求解定积分:第三个是用蒙特卡洛模拟证券市场求解其收益:第四个是用蒙特卡洛模拟验证OLS的参数的无偏性:然后还要R是如何求导,计算导数 ...

  6. [Algorithm] 群体智能优化算法之粒子群优化算法

    同进化算法(见博客<[Evolutionary Algorithm] 进化算法简介>,进化算法是受生物进化机制启发而产生的一系列算法)和人工神经网络算法(Neural Networks,简 ...

  7. 如何发布带静态资源的库——android 篇

    1.首先要使用 android sdk 提供的命令行工具处理已有的项目: cd YourProjectDir android update project -p ./ 2.上一步生成的 build.x ...

  8. D2js 是如何处理并发的

    d2js 运行于 servlet 容器,如tomcat,由于容器自身支持并发,似乎 d2js 只要使用 nashorn 运行脚本即可.这样我们得到最简单的实现方式: 在该方式中,nashorn引擎仅存 ...

  9. nio

    1.I/O 输入输出流 (1) 指的是计算机与外界,或者程序与计算机之间数据交换的接口. (2) 在java编程中,使用 流(Stream) 的方式完成I/O , 所有的I/O都被视为单个字节的移动. ...

  10. 关于JavaScript初级的知识点一(持续更新 )

    自己刚开始接触JS这是自己一个多月以来的一些总结和回顾. 一.什么是js? js是一种弱类型的脚本语言,是HTML的3大组成部分之一.HTML标签 CSS样式 JS脚本. 二.js的5种基本数据类型 ...