pdf2htmlEx安装及测试
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安装及测试的更多相关文章
- my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接
一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径“C:\Soft\mysql-5.6.24-winx64” 三.环境配置 计算 ...
- OpenCV2+入门系列(一):OpenCV2.4.9的安装与测试
这里假设看到这篇文章的人都已经对OpenCV以及机器视觉等最基础的概念有了一定的认识,因此本文不会对OpenCV做任何的介绍,而是直接介绍OpenCV2.4.9的安装与测试.此外本文只是简单的介绍如何 ...
- 决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试
决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试 [TOC] Apache ZooKeeper 单机模式安装 创建hadoop用户&赋予sudo权限, ...
- coreseek实战(一):windows下coreseek的安装与测试
coreseek实战(一):windows下coreseek的安装与测试 网上关于 coreseek 在 windows 下安装与使用的教程有很多,官方也有详细的教程,这里我也只是按着官方提供的教程详 ...
- Window下memcached安装与测试步骤
如何在Window下memcached安装与测试步骤 工具/原料 电脑 memcached 软件 方法/步骤 软件包下载 下载Memercached For Windows:http://downlo ...
- 【MySql】5.6.14版本的安装和测试
当前状态:apache2.4.6和php5.5.6已经安装成功: mysql的安装和测试: 一.安装mysql5.6.14,参考http://wenku.baidu.com/link?url=_0jk ...
- jdbc_odbc SQLserver 驱动安装及测试
有2次被问到同一个问题,尽管博客园是.net的园子,我还是分享下吧.PS:我现在做的.net,以前学过点java.献丑了. ------------------ 原始邮件 -------------- ...
- mosquitto在Linux环境下的部署/安装/使用/测试
mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...
- http_load安装与测试参数分析 - 追求自由自在的编程 - ITeye技术网站
http_load安装与测试参数分析 - 追求自由自在的编程 - ITeye技术网站 http_load -p 50 -s 120 urls
随机推荐
- github怎么退出组织和删除自己创建的组织
1. 点击头像,进入settings 2. 点击左侧菜单中的 Organizations 切换到Origanizations后,右侧面板中会出现所有的oragnizations,我这里只有一个,是我自 ...
- 2014年---移动端webapp个人年度总结
我今年是由零基础开始入门的,刚好我第一家公司入职后就马上让我接手做ipad版的专题app了.(一入门就是移动端开发,是幸运也是艰辛的开始). 我是自学前端的,当然,对Bootstrap,JQuery ...
- Entity framewok 如何实现多条记录作为一条取出, for xml path如何实现
http://www.myexception.cn/linq/1288046.html Entity framewok 怎么实现多条记录作为一条取出, for xml path怎么实现News表:ID ...
- JavaScript倒计时
倒计时: 1.设置一个有效的结束日期 2.计算剩余时间 3.将时间转换成可用的格式 4.输出时钟数据作为一个可重用的对象 5.在页面上显示时钟,并在它到达0时停止 <div id="c ...
- java基础 super 子类调用父类
如果希望在子类中,去调用父类的构造方法,要求在子类的构造函数调用 example如下: package test; /* * 如果希望在子类中,去调用父类的构造方法,要求在子类的构造函数调用 * */ ...
- DOM0编程与基础方法
## 这里记录一下DOM编程的基础与方法----### DOM 的O:对象 objectO表示Object,对象的意思.JavaScript中对象可以分为三种类型1. 用户定义对象(user-defi ...
- 转:aliyun阿里云Maven仓库地址——加速你的maven构建
maven仓库用过的人都知道,国内有多么的悲催.还好有比较好用的镜像可以使用,尽快记录下来.速度提升100倍. http://maven.aliyun.com/nexus/#view-reposito ...
- 关于robotframework,app,appium的xpath定位问题及常用方法
关于类似的帖子好像很多,但是没有找到具体能帮我解决问题的办法.还是自己深究了好久才基本知道app上面的xpath定位和web上的不同点: 先放一个图: A,先说说不用xpath的场景,一般是用于存在i ...
- Photoshop学习笔记
视频地址:PhotoshopCS5视频教程 1.打开文件的快捷方式:软件刚启动时,双击绘图区域 2.文件->新建,弹出的新建对话框中,包含了剪切板及纸张的相关信息 3.图像缩放快捷方式:ctrl ...
- mybatis调用存储过程 无参、带有输入输出参数,输出游标类型的 存储
存储过程在小公司用的不多,但是如果业务比较复杂或者性能要求比较苛刻的时候存储过程就派上用场了,ibatis的前期的一些版本貌似不支持存储过程因此我选择了mybatis来做实验. 1.无输入和输出参数的 ...