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. 记一次特别的bug

    问题现象 push入某个特定的画页,然后再pop出来,然后再切换不同的tabbaritem就会崩溃,而且没有任何提示,也没法定位崩溃位置,哪怕用了$arg1. 猜测,这种情况坏访问的可能性比较大,至少 ...

  2. 【先定一个小目标】Redis 安装成windows服务-开机自启

    1.第一步安装成windows服务的,开机自启动 redis-server --service-install redis.windows.conf 2.启动\关闭 redis-server --se ...

  3. MyEclipse:各种提示图标的含义

    1.新建的项目,项目名称前有黄色小警示号的原因, 2.项目名称上有红色叹号,说明缺少jar包,仔细找一下,看看缺了什么,添加进去一般就好了. 3.出现红色叉号,那说明代码错误,需要修改代码.

  4. npm 发布到远程资源库

    一.npm 发布到远程资源库 1.创建package.json Package.json 属性说明 name - 包名. version - 包的版本号. description - 包的描述. ho ...

  5. Gulp基础

    1.什么是gulp? gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器. 2.为什么使用gulp? gulp不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工 ...

  6. Vue.js 整理笔记

    以前我们用Jquery进行dom的操作,虽然熟悉后开发效率很高,但是如果多个控件的相互操作多的情况下,还是会乱.相比之下,Vue的使用更加清晰,通过虚拟dom将数据绑定,而且组件化和路由的帮助下,让整 ...

  7. Jquery 小技巧

    [每个程序员都会的35个jQuery的小技巧]收集的35个jQuery的小技巧/代码片段,可以帮你快速开发

  8. XF custom render 各平台实现类

    目前的XF还是非常简陋的,所以存在大量的自定义工作.一般情况下我们只是要需要派生原生的XF控件,然后在各平台下修改其呈现方法. 所以了解每个XF控件在不同平台上呈现使用的控件类是有所必须要的.以下别人 ...

  9. canvas的save与restore方法的作用

    网上搜罗了一堆资料,最后总结一下. save:用来保存Canvas的状态.save之后,可以调用Canvas的平移.放缩.旋转.错切.裁剪等操作. restore:用来恢复Canvas之前保存的状态. ...

  10. python调用其他程序或脚本方法(转)

    python运行(调用)其他程序或脚本 在Python中可以方便地使用os模块运行其他的脚本或者程序,这样就可以在脚本中直接使用其他脚本,或者程序提供的功能,而不必再次编写实现该功能的代码.为了更好地 ...