Linux下使用pdf2htmlEX将pdf转换成html格式

项目上遇到需求:将pdf文件转换成html格式文件,供另外的服务做html解析从而获取文件内容信息,这里我采用的是pdf2htmlEX作为转换工具,效果不错。

推荐使用最便捷的方法,直接运行docker容器内的程序转换,避免部署工具所需要的环境等,节约很多时间。

先安装docker并配置docker服务自启动,参考文章:CentOS7安装Docker配置服务端和容器自启动

  1. 直接运行docker进行转换
docker run -ti --rm -v `pwd`:/pdf bwits/pdf2htmlex pdf2htmlEX --zoom 1.3 test.pdf
  1. 或者为docker命令添加别名
alias pdf2htmlEX='docker run -ti --rm -v `pwd`:/pdf bwits/pdf2htmlex pdf2htmlEX'

测试一下

pdf2htmlEX --zoom 1 test.pdf

效果跟前面的一样,转换效果不错,感谢插件作者。

  1. 指定输出位置转换:
pdf2htmlEX --zoom 1 --dest-dir ./out test.pdf
参数:
    --zoom 缩放比例
    --dest-dir 输出目录
    test.pdf 待转换的文件

更多用法参考官方文档

扩展一下

结合我之前的文章:CentOS下使用LibreOffice实现文档格式的转换,不难想到,对于doc/docx文档,我们可以先将其转换成pdf然后再继续转换成html

doc/docx转pdf

soffice --headless --convert-to pdf ./1003437-1560257355.docx --outdir ./

pdf转html

docker run -it --rm -v `pwd`:/pdf --privileged=true bwits/pdf2htmlex pdf2htmlEX --zoom 1 1003437-1560257355.pdf

html解析为json

python /tools/parser/htmlParser.py 1003437-1560257355.html

这样我们就使用同一套解析程序兼容解析了doc/docx/pdf,在程序中使用运行docker命令时将-it去掉,将要转换的目录正确挂在到docker中并保证运行docker命令的用户对目录和文件有读写权限。

2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注