一个简单易用的工具,用于将PDF文件批量转换为HTML格式,基于pdf2htmlEX。
# 进入项目目录
cd pdf2html
# 构建Docker镜像
docker build -t pdf2html:latest .
或者使用docker-compose:
docker-compose build
# 转换当前目录下的所有PDF文件
python main.py
# 显示帮助信息
python main.py --help
# 转换当前目录下的所有PDF文件
docker run --rm -v $(pwd):/app pdf2html:latest
# 显示帮助信息
docker run --rm pdf2html:latest --help
| 参数 | 简写 | 默认值 | 说明 |
|---|---|---|---|
--input-dir |
-i |
. (当前目录) |
输入目录,包含PDF文件的目录 |
--output-dir |
-o |
htmls |
输出目录,保存HTML文件的目录 |
--recursive |
-r |
True |
递归搜索子目录中的PDF文件 |
--no-recursive |
- | - | 不递归搜索子目录 |
--zoom |
-z |
1.3 |
转换时的缩放比例 |
--help |
-h |
- | 显示帮助信息 |
转换当前目录下的所有PDF文件到默认的htmls目录:
# 本地使用
python main.py
# Docker使用
docker run --rm -v $(pwd):/app pdf2html:latest
转换./pdfs目录中的PDF文件到./output目录:
# 本地使用
python main.py -i ./pdfs -o ./output
# Docker使用
docker run --rm -v $(pwd):/app pdf2html:latest -i /app/pdfs -o /app/output
只转换当前目录的PDF文件,不搜索子目录:
# 本地使用
python main.py --no-recursive
# Docker使用
docker run --rm -v $(pwd):/app pdf2html:latest --no-recursive
使用1.5倍缩放比例转换PDF:
# 本地使用
python main.py --zoom 1.5
# Docker使用
docker run --rm -v $(pwd):/app pdf2html:latest --zoom 1.5
组合使用多个参数,实现更精确的控制:
# 本地使用
python main.py -i ./documents -o ./converted --no-recursive --zoom 2.0
# Docker使用
docker run --rm -v $(pwd):/app pdf2html:latest -i /app/documents -o /app/converted --no-recursive --zoom 2.0
为了简化使用,可以创建一个别名:
# Linux/Mac
alias pdf2html='docker run --rm -v $(pwd):/app pdf2html:latest'
# Windows PowerShell
function pdf2html { docker run --rm -v ${PWD}:/app pdf2html:latest $args }
然后就可以像使用普通命令一样使用:
# 显示帮助
pdf2html --help
# 转换当前目录
pdf2html
# 指定参数
pdf2html -i ./pdfs -o ./htmls
docker-compose.yml中的command参数(如果需要)运行:
# 构建并运行
docker-compose up --build
# 或者先构建,再运行
docker-compose build
docker-compose run pdf2html
如果需要访问多个目录中的PDF文件:
docker run --rm \
-v /path/to/pdfs1:/app/pdfs1 \
-v /path/to/pdfs2:/app/pdfs2 \
-v /path/to/output:/app/output \
pdf2html:latest \
-i /app/pdfs1 \
-o /app/output
/app开头A: 程序会显示转换失败的文件名称和错误信息。您可以检查这些PDF文件是否损坏,或者尝试手动转换。
A: 默认情况下,HTML文件会保存在当前目录的htmls子目录中。您可以使用--output-dir参数指定其他位置。
A: 程序会自动跳过已存在的HTML文件,所以如果您再次运行,只会转换新添加的PDF文件。
A: 支持大多数标准PDF文件,但某些特殊格式(如加密PDF)可能无法转换。
pdf2html/
├── main.py # 主程序文件
├── Dockerfile # Docker构建文件
├── docker-compose.yml # Docker Compose配置文件
├── README.md # 项目说明文档
└── .dockerignore # Docker忽略文件
Copyright © 2017-2024 liuyuqi. All Rights Reserved.
如有问题或建议,请联系:liuyuqi.gov@msn.cn