pdf2htmlex安装及使用

PDF 转 HTML

环境安装 docker版

安装docker
# 通过yum安装
yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache
yum install docker-ce

# 启动server服务
systemctl start docker
# 设置开机启动
systemctl enable docker

# 修改镜像源为国内
vim /etc/docker/daemon.json
# 增加如下内容
{
  "registry-mirrors": [
    "http://f1361db2.m.daocloud.io",
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"
  ]
}
# 保存 重启
systemctl daemon-reload
systemctl restart docker
拉取镜像
docker pull bwits/pdf2htmlex
# 查看镜像
docker images

使用

docker run -ti --rm -v [html文件输入路径]:/pdf bwits/pdf2htmlex pdf2htmlEX --zoom 1.3 test.pdf
# 在使用exec或其它语言调用docker时,取消-t参数

编译安装版(centos7)

安装依赖
 yum install  cmake gcc gnu-getopt java-1.8.0-openjdk libpng-devel fontforge-devel cairo-devel poppler-devel libspiro-devel freetype-devel  poppler-data libjpeg-turbo-devel git make gcc-c++
开始安装
git clone git://github.com/coolwanglu/pdf2htmlEX.git
cd pdf2htmlEX
cmake .
错误 package ‘libfontforge>=2.0.0’ not found

需要编译安装libfontforge 需要使用作者提供的分支,官网的版本不行 https://github.com/coolwanglu/fontforge/tree/pdf2htmlEX

注意 这里不要使用git clone ,需要下载压缩包

wget https://github.com/coolwanglu/fontforge/archive/pdf2htmlEX.zip
unzip pdf2htmlEX.zip
cd fontforge-pdf2htmlEX/
./autogen.sh
# 出现错误 Preparing build ... ERROR: libtoolize failed
# 执行  yum install libtool-ltdl-devel 然后再次执行 ./autogen.sh

./configure
# 出现错误 configure: error: Package requirements (pango >= 1.10 pangoxft) were not met:
# 执行 yum install pango-devel 然后再次执行 ./configure
make
make install

# 如上图 成功安装了 libfontforge 切换到pdf2htmlEX 目录 继续执行 cmake .
# 依然报错  package 'libfontforge>=2.0.0' not found, 执行如下语句
 export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
 # 继续执行 cmake .
 
 make 
 make install 
 # pdf2htmlEX 已安装到了 usr/local/bin 目录下
 pdf2htmlEX -h 
 # 报错 pdf2htmlEX: error while loading shared libraries: libfontforge.so.2: cannot open shared object file: No such file or directory 执行如下语句即可, 可以将 LD_LIBRARY_PATH 写入到 /etc/profile 中
export LD_LIBRARY_PATH=/usr/local/lib
pdf2htmlEX -h 
其它参数
  -f,--first-page <int>         需要转换的起始页 (默认: 1)  
  -l,--last-page <int>          需要转换的最后一页 (默认: 2147483647)  
  --zoom <fp>                   缩放比例  
  --fit-width <fp>              适合宽度 <fp> 像素  
  --fit-height <fp>             适合高度 <fp> 像素  
  --use-cropbox <int>           使用剪切框 (default: 1)  
  --hdpi <fp>                   图像水平分辨率 (default: 144)  
  --vdpi <fp>                   图像垂直分辨率 (default: 144)  
  --embed <string>              指定哪些元素应该被嵌入到输出  
  --embed-css <int>             将CSS文件嵌入到输出中 (default: 1)  
  --embed-font <int>            将字体文件嵌入到输出中 (default: 1)  
  --embed-image <int>           将图片文件嵌入到输出中 (default: 1)  
  --embed-javascript <int>      将javascript文件嵌入到输出中 (default: 1)  
  --embed-outline <int>         将链接嵌入到输出中 (default: 1)  
  --split-pages <int>           将页面分割为单独的文件 (default: 0)  
  --dest-dir <string>           指定目标目录 (default: ".")  
  --css-filename <string>       生成的css文件的文件名 (default: "")  
  --page-filename <string>      分割的网页名称  (default:"")  
  --outline-filename <string>   生成的链接文件名称 (default:"")  
  --process-nontext <int>       渲染图行,文字除外 (default: 1)  
  --process-outline <int>       在html中显示链接 (default: 1)  
  --printing <int>              支持打印 (default: 1)  
  --fallback <int>              在备用模式下输出 (default: 0)  
  --embed-external-font <int>   嵌入局部匹配的外部字体 (default: 1)  
  --font-format <string>        嵌入的字体文件后缀 (ttf,otf,woff,svg) (default: "woff")  
  --decompose-ligature <int>    分解连字-> fi (default:0)  
  --auto-hint <int>             使用fontforge的autohint上的字体时不提示 (default: 0)  
  --external-hint-tool <string> 字体外部提示工具 (overrides --auto-hint) (default: "")  
  --stretch-narrow-glyph <int>  伸展狭窄的字形,而不是填充 (default: 0)  
  --squeeze-wide-glyph <int>    收缩较宽的字形,而不是截断 (default: 1)  
  --override-fstype <int>       clear the fstype bits in TTF/OTF fonts (default:0)  
  --process-type3 <int>         convert Type 3 fonts for web (experimental) (default: 0)  
  --heps <fp>                   合并文本的水平临界值,单位:像素(default: 1)  
  --veps <fp>                   vertical threshold for merging text, in pixels (default: 1)  
  --space-threshold <fp>        断字临界值 (临界值 * em) (default:0.125)  
  --font-size-multiplier <fp>   一个大于1的值增加渲染精度 (default: 4)  
  --space-as-offset <int>       把空格字符作为偏移量 (default: 0)  
  --tounicode <int>             如何处理ToUnicode的CMap (0=auto, 1=force,-1=ignore) (default: 0)  
  --optimize-text <int>         尽量减少用于文本的HTML元素的数目 (default: 0)  
  --bg-format <string>          指定背景图像格式 (default: "png")  
  -o,--owner-password <string>  所有者密码 (为了加密文件)  
  -u,--user-password <string>   用户密码 (为了加密文件)  
  --no-drm <int>                覆盖文档的 DRM 设置 (default: 0)  
  --clean-tmp <int>             转换后删除临时文件 (default: 1)  
  --data-dir <string>           指定的数据目录 (default: ".\share\pdf2htmlEX")  
  --debug <int>                 打印调试信息 (default: 0)  
  -v,--version                  打印版权和版本信息  
  -h,--help                     打印使用帮助信息  
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值