【工具】PDF转HTML
【工具】PDF转HTML
可通过命令执行, 集成到项目中
pdf2htmlEX
windows系统可执行版下载地址:
http://soft.rubypdf.com/software/pdf2htmlex-windows-version
https://github.com/coolwanglu/pdf2htmlEX
.\pdf2htmlEX.exe --zoom 1.8 a.pdf
.\pdf2htmlEX.exe --embed cfij --embed-image 0 --zoom 1.8 a.pdf
参数说明
以下是 pdf2htmlEX
工具的参数说明解读,按功能分类整理:
基础信息
- 功能:将 PDF 文件转换为 HTML,保留文本格式和样式,非文本对象(如图片)会以图像形式嵌入。
- 特点:
- 支持字体提取(Type 3 字体需实验性选项)。
- 文本可选中、复制。
- 可优化网页兼容性和文件体积。
基础用法
bash
复制
pdf2htmlEX [选项] <输入文件> [<输出文件>]
- 示例:
bash
复制
pdf2htmlEX input.pdf output.html
常用选项分类说明
1. 页面范围控制
-f, --first-page <num>
指定起始页码(默认:1)。-l, --last-page <num>
指定结束页码(默认:最后一页)。
2. 输出尺寸调整
--zoom <ratio>
直接指定缩放比例(如--zoom 1.5
)。--fit-width <width>
/--fit-height <height>
指定页面的最大宽度/高度(像素单位)。若同时指定多个,取最小值。- 默认行为:页面按 72 DPI 渲染。
3. 内容嵌入控制
--embed <字符串>
通过字符组合控制嵌入内容类型(如cCfFiIjJoO
):c/C
:CSS 文件(默认嵌入)。f/F
:字体(默认嵌入)。i/I
:图片(默认嵌入)。j/J
:JavaScript(默认嵌入)。o/O
:大纲(默认嵌入)。- 小写字母表示不嵌入,大写字母表示嵌入。
- 分项开关(优先级低于
--embed
):--embed-font 0|1
:是否嵌入字体(默认:1)。--embed-image 0|1
:是否嵌入图片(默认:1)。--embed-outline 0|1
:是否嵌入大纲(默认:1)。
4. 分页与输出路径
--split-pages 0|1
是否分页保存(默认:0)。开启后每页存为单独文件。--dest-dir <目录>
指定输出目录(默认:当前目录)。--page-filename <模板>
分页文件名模板,支持占位符%d
(页码),如:bar%03d.baz
→bar001.baz
,bar002.baz
...
5. 字体处理
--font-format <格式>
字体输出格式(默认:woff
)。--decompose-ligature 0|1
分解连字(如 "fi" → "f"+"i",默认:0)。--process-type3 0|1
实验性支持 Type 3 字体(默认:0,可能渲染异常)。
6. 文本优化
--space-threshold <比例>
插入空格的阈值(默认:0.125 × 字体大小)。--font-size-multiplier <倍数>
字体大小倍数(默认:4.0),用于解决浏览器最小字体限制。--optimize-text 0|1
减少 HTML 元素数量(默认:0,可能影响兼容性)。
7. 图像与背景
--hdpi <dpi>
/--vdpi <dpi>
图像水平/垂直 DPI(默认:144)。--bg-format <格式>
背景图像格式(默认:png
,支持其他格式如jpg
)。
8. 安全与权限
-o, --owner-password <密码>
PDF 所有者密码。-u, --user-password <密码>
PDF 用户密码。--no-drm 0|1
强制绕过 DRM(默认:0,需合法权限)。
9. 调试与临时文件
--clean-tmp 0|1
是否清理临时文件(默认:1,清理)。--debug 0|1
输出调试信息(默认:0)。
高级功能
- 大纲处理:
--process-outline 0|1
控制是否生成目录大纲。 - 回退模式:
--fallback 0|1
提升兼容性但增大文件体积。 - 模板文件:通过
--data-dir
指定自定义 HTML 模板目录。
示例场景
-
基础转换:
bash
复制
pdf2htmlEX input.pdf output.html
-
分页保存且不嵌入字体/图片:
bash
复制
pdf2htmlEX --split-pages 1 --embed fI input.pdf
-
加密 PDF 转换:
bash
复制
pdf2htmlEX -o owner_pass input.pdf
注意事项
- Type 3 字体支持是实验性的,可能导致文本渲染为图像。
- 调整
--font-size-multiplier
可能影响浏览器渲染性能。 - 使用
--no-drm 1
需确保合法权限。
另一款
https://github.com/pdf2htmlEX/pdf2htmlEX