Xinu

PDF 转 HTML
PDF 转 HTML环境安装 docker版安装docker# 通过yum安装 yum install -y yu...
扫描右侧二维码阅读全文
30
2020/05

PDF 转 HTML

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                     打印使用帮助信息  
Last modification:June 1st, 2020 at 01:03 pm

Leave a Comment