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

相关推荐
Kyln.Wu17 小时前
【python实用小脚本-190】Python一键删除PDF任意页:输入页码秒出干净文件——再也不用在线裁剪排队
服务器·python·pdf
阿幸软件杂货间1 天前
免费万能电子书格式转换器!Neat Converter支持 ePub、Azw3、Mobi、Doc、PDF、TXT 文件的相互转换。
pdf·格式转换
星马梦缘2 天前
CSDN转PDF【无水印且免费!!!】
pdf·免费·pandoc·转pdf·无水印·csdn转pdf·wkhtmlpdf
画月的亮2 天前
前端处理导出PDF。Vue导出pdf
前端·vue.js·pdf
伊织code3 天前
pdfminer.six
python·pdf·图片·提取·文本·pdfminer·pdfminer.six
HAPPY酷3 天前
给纯小白的Python操作 PDF 笔记
开发语言·python·pdf
代码AI弗森4 天前
PDF OCR + 大模型:让文档理解不止停留在识字
pdf·ocr
小周同学:5 天前
在 Vue2 中使用 pdf.js + pdf-lib 实现 PDF 预览、手写签名、文字批注与高保真导出
开发语言·前端·javascript·vue.js·pdf
Kyln.Wu5 天前
【python实用小脚本-187】Python一键批量改PDF文字:拖进来秒出新文件——再也不用Acrobat来回导
python·pdf·c#
迪尔~6 天前
Apache POI中通过WorkBook写入图片后出现导出PDF文件时在不同页重复写入该图片问题,如何在通过sheet获取绘图对象清除该图片
java·pdf·excel