我们使用pdf2htmlEX
这个库将PDF转为HTML,并通过命令行、python控制它
pdf2htmlEX Github 主页:https://github.com/coolwanglu/pdf2htmlEX
相关论文:
Wang, Lu, and Wanmin Liu. “Online publishing via pdf2htmlEX.” TUGboat 34.3 (2013): 313-324.
Mac直接使用:brew install pdf2htmlEX
即可
docker安装,使用:
docker search pdf2htmlEX
可以看到能使用的docker image,我们选择下载最多star的那个docker:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
bwits/pdf2htmlex Smallest pdf2htmlEX container and easiest wa… 27 [OK]
bwits/pdf2htmlex-alpine pdf2htmlEX in alpine 15 [OK]
klokoy/pdf2htmlex 7 [OK]
这里我们使用命令:
docker pull bwits/pdf2htmlex
首先运行:
alias pdf2htmlEX='docker run -ti --rm -v `pwd`:/pdf bwits/pdf2htmlex pdf2htmlEX'
然后使用命令pdf2htmlEX 测试的pdf文件.pdf
即可生成目标HTML文件:
wget http://www.africau.edu/images/default/sample.pdf
pdf2htmlEX sample.pdf
更多用法请参考:https://github.com/coolwanglu/pdf2htmlEX/wiki/Quick-Start
代码也很简单:
def convert_pdf_to_html(filename):
import subprocess
subprocess.call("docker run --rm -v `pwd`:/pdf bwits/pdf2htmlex pdf2htmlEX {}".format(filename), shell=True)
if __name__ == '__main__':
convert_pdf_to_html("sample.pdf") # 这里是文件的名称传递进去,如果代码与文件不是一个路径,需要用xx/xx/sample.pdf的路径
其中:
运行linux命令可以参考:https://linuxhint.com/execute_shell_python_subprocess_run_method/