项目上遇到需求:将pdf文件转换成html格式文件,供另外的服务做html解析从而获取文件内容信息,这里我采用的是pdf2htmlEX作为转换工具,效果不错。
推荐使用最便捷的方法,直接运行docker容器内的程序转换,避免部署工具所需要的环境等,节约很多时间。
先安装docker并配置docker服务自启动,参考文章:直接运行docker进行转换docker run -ti --rm -v `pwd`:/pdf bwits/pdf2htmlex pdf2htmlEX --zoom 1.3 test.pdf或者为docker命令添加别名alias pdf2htmlEX='docker run -ti --rm -v `pwd`:/pdf bwits/pdf2htmlex pdf2htmlEX'
测试一下pdf2htmlEX --zoom 1 test.pdf
效果跟前面的一样,转换效果不错,感谢插件作者。指定输出位置转换:pdf2htmlEX --zoom 1 --dest-dir ./out test.pdf
参数:
--zoom 缩放比例
--dest-dir 输出目录
test.pdf 待转换的文件
更多用法参考官方文档。
扩展一下
结合我之前的文章:doc/docx文档,我们可以先将其转换成pdf然后再继续转换成html。
doc/docx转pdfsoffice --headless --convert-to pdf ./1003437-1560257355.docx --outdir ./
pdf转htmldocker run -it --rm -v `pwd`:/pdf --privileged=true bwits/pdf2htmlex pdf2htmlEX --zoom 1 1003437-1560257355.pdf
html解析为jsonpython /tools/parser/htmlParser.py 1003437-1560257355.html
这样我们就使用同一套解析程序兼容解析了doc/docx/pdf,在程序中使用运行docker命令时将-it去掉,将要转换的目录正确挂在到docker中并保证运行docker命令的用户对目录和文件有读写权限。
Linux下使用pdf2htmlEX将pdf转换成html格式
更多精彩,敬请关注本博微信公众号:hsu1943