【工具】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.bazbar001.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 模板目录。

示例场景

  1. 基础转换​:

    复制代码

    bash

    复制

    复制代码
    pdf2htmlEX input.pdf output.html
  2. 分页保存且不嵌入字体/图片​:

    复制代码

    bash

    复制

    复制代码
    pdf2htmlEX --split-pages 1 --embed fI input.pdf
  3. 加密 PDF 转换​:

    复制代码

    bash

    复制

    复制代码
    pdf2htmlEX -o owner_pass input.pdf

注意事项

  • Type 3 字体支持是实验性的,可能导致文本渲染为图像。
  • 调整 --font-size-multiplier 可能影响浏览器渲染性能。
  • 使用 --no-drm 1 需确保合法权限。

另一款

https://github.com/pdf2htmlEX/pdf2htmlEX

相关推荐
Felicia-侧听2 小时前
PDF怎么转换成OFD?在线PDF转OFD方法
pdf·pdf转换·ofd·电子发票·文件格式转换·pdf转ofd·ofd格式
开开心心_Every1 天前
实现鼠标键盘动作录制与重复播放的工具
微信·jupyter·pycharm·pdf·计算机外设·word·excel
2601_962299491 天前
使用 Python 将 CSV 转为 PDF(含表格样式美化)
python·pdf·csv·spire.xls·表格样式
tianyue1001 天前
PDFsam Basic PDF 分割、合并
pdf
SunnyDays10111 天前
如何使用 Python 给 PDF 添加附件:文档附件与附件注释
开发语言·python·pdf
SamChan901 天前
PDF翻译服务端到端基准测试:4款主流方案的吞吐量、延迟、内存占用对比
服务器·网络·python·ai·pdf·wpf
Felicia-侧听1 天前
PDF怎么转换成Word?3种方法实现PDF转可编辑Word
pdf·word·pdf转word
乘风归趣1 天前
spire.doc.free将word中占位符替换为pdf文件,以及合并PDF
pdf·word
庖丁AI2 天前
PDF 转 Markdown 工具怎么选?AI 知识库和 RAG 场景要注意什么
人工智能·pdf·文档解析
几层山下2 天前
WPS的word文档转pdf java实现不乱格式生成-已解决
java·pdf·word·wps