pdf2htmlEX:pdf 转 html,医学指南精细化处理第一步
- 单文件转换
- 多文件转换
代码:https://github.com/coolwanglu/pdf2htmlEX
拉取pdf2htmlEX 的 Docker:
docker pull bwits/pdf2htmlex
# 拉取 bwits/pdf2htmlex
不用进入容器,直接创建 3 个 文件夹
mkdir pdf2html
mkdir pdf2html/pdf_files # 所有需要转换的pdf
mkdir pdf2html/html_files # 用于存放转换好的 html 文件
单文件转换
- 在 pdf_files 文件夹下面有一个 test_1.pdf,运行命令:
docker run -ti --rm -v ~/pdf2html:/pdf2html bwits/pdf2htmlex pdf2htmlEX --dest-dir /pdf2html/html_files /pdf2html/pdf_files/test_1.pdf
多文件转换
Docker命令本身并不支持在单个命令中处理多文件或使用通配符执行迭代。因此,您需要使用一些shell脚本逻辑来达到这个目的。
以下是一个在Linux环境下使用bash脚本处理目录中所有PDF文件的方法。
这段脚本将迭代 pdf_files
目录中的所有PDF文件,并对每个文件运行 bwits/pdf2htmlex
容器:
#!/bin/bash
# 设定本地PDF文件的目录
PDF_DIR="/home/bobuser/pdf2html/pdf_files"
# 设定HTML输出目录
HTML_DIR="/home/bobuser/pdf2html/html_files"
# 遍历pdf_files目录中的所有PDF文件
for pdf in "$PDF_DIR"/*.pdf; do
echo "转换文件:$(basename "$pdf")"
# 运行Docker命令来转换当前PDF文件
docker run -ti --rm -v /home/bobuser/pdf2html:/pdf2html bwits/pdf2htmlex pdf2htmlEX --dest-dir /pdf2html/html_files "/pdf2html/pdf_files/$(basename "$pdf")"
done
echo "所有PDF文件转换完成。"
将上述脚本保存到一个文件中,比如命名为 convert_pdfs.sh
,然后执行以下步骤:
- 给予脚本执行权限:
chmod +x convert_pdfs.sh
- 执行脚本:
./convert_pdfs.sh
这段脚本将对 pdf_files
目录中的每个PDF文件执行 pdf2htmlEX
命令,将结果输出到 html_files
目录。
这种方法假设所有PDF文件都存储在 /home/bobuser/pdf2html/pdf_files
目录中,并且输出的HTML文件将存储在 /home/bobuser/pdf2html/html_files
目录中。
转换后: