【工具】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

相关推荐
ComPDFKit17 小时前
ComPDF 与 Aspose:转换 SDK 的全面比较
pdf
优选资源分享18 小时前
PDF 电子签章工具 v5.0:全能处理PDF电子签章
pdf
Arvin_Zhang201618 小时前
使用python实现从PDF格式的control mapping获取gross die数量
python·pdf
徐同保18 小时前
上传文件,在前端用 pdf.js 提取 上传的pdf文件中的图片
前端·javascript·pdf
CodeCraft Studio18 小时前
国产化PDF处理控件Spire.PDF教程:使用Python批量自动化将PDF转换为黑白(灰度)
python·pdf·自动化·spire.pdf·文档自动化·pdf开发组件·国产化文档组件
成旭先生19 小时前
文档(如word、ppt、pdf等)在线预览解决方案:基于HTML转换的技术实践与对比
pdf·word·powerpoint
m5655bj19 小时前
使用 C# 将 RTF 文档转换为 PDF 格式
pdf·c#
开开心心_Every2 天前
免费进销存管理软件:云端本地双部署
java·游戏·微信·eclipse·pdf·excel·语音识别
winfredzhang2 天前
从零构建:手写一个支持“高度定制化排版”的 Chrome 网页摘录插件
chrome·pdf·插件·epub·零碎信息归档
裴嘉靖2 天前
前端获取二进制文件并预览的完整指南
前端·pdf