PyMuPDF 1.24.4 中文文档(一)(1)

简介: PyMuPDF 1.24.4 中文文档(一)


原文:https://pymupdf.readthedocs.io/en/latest/

PyMuPDF 文档 1.24.4

来源:pymupdf.readthedocs.io/en/latest/

关于

功能比较

原文:pymupdf.readthedocs.io/en/latest/about.html

功能矩阵

下表展示了 PyMuPDF 与其他典型解决方案的比较。

功能 PyMuPDF pikepdf PyPDF2 pdfrw pdfplumber / pdfminer

| 支持多种文档格式 | PDF XPS EPUB MOBI FB2 CBZ SVG TXT 图片


DOCX XLSX PPTX HWPX 见 注释 | PDF | PDF | PDF | PDF |

实现方式 Python 和 C Python 和 C++ Python Python Python
渲染文档页面 所有文档类型 不支持渲染 不支持渲染 不支持渲染 不支持渲染

| 向 PDF 页面写入文本 | 见:Page.insert_htmlbox

或:

Page.insert_textbox

或:

TextWriter | | | | |

支持 CJK 字符
提取文本 所有文档类型 仅限 PDF 仅限 PDF
将文本提取为 Markdown (.md) 所有文档类型
提取表格 所有文档类型 仅限 PDF
提取矢量图形 所有文档类型 有限
绘制矢量图形(PDF)
基于现有的成熟库 MuPDF QPDF
自动修复损坏的 PDF
加密 PDF 有限 有限
线性化 PDF
增量更新
与 Jupyter 和 IPython 笔记本集成
将 PDF 与其他文档类型合并/合并 所有文档类型 仅限 PDF 仅限 PDF 仅限 PDF 仅限 PDF
OCR API 与 Tesseract 的无缝集成 所有文档类型
集成式检查点 / 重新启动功能(PDF)
PDF 可选内容
PDF 嵌入式文件 有限 有限
PDF 文件编辑
PDF 注释 完整 有限
PDF 表单字段 创建、读取、更新 有限,无创建
PDF 页面标签
支持字体子集化

注意

关于 Office 文档类型(DOCX、XLXS、PPTX)和 Hangul 文档(HWPX)的说明。这些文档可以加载到 PyMuPDF 中,您将获得一个 文档 对象。

还有一些注意事项:

  • 我们将输入转换为 HTML 以布局内容。

  • 因此,原始页面分隔已经消失。

当保存结果时,不应期望任何忠实于原始布局的表示。

因此,输入文件大多以便于文本提取的形式呈现。

  • 特性矩阵

以下表格说明了 PyMuPDF 与其他典型解决方案的比较。

特性 PyMuPDF pikepdf PyPDF2 pdfrw pdfplumber / pdfminer

| 支持多种文档格式 | PDF XPS EPUB MOBI FB2 CBZ SVG TXT Image


DOCX、XLSX、PPTX、HWPX 请见 注 | PDF | PDF | PDF | PDF |

实现 Python 和 C Python 和 C++ Python Python Python
渲染文档页面 所有文档类型 不进行渲染 不进行渲染 不进行渲染 不进行渲染

| 将文本写入 PDF 页面 | 参见:Page.insert_htmlbox

或者:

Page.insert_textbox

或者:

TextWriter | | | | |

支持 CJK 字符
提取文本 所有文档类型 仅限 PDF 仅限 PDF
提取 Markdown 格式的文本 (.md) 所有文档类型
提取表格 所有文档类型 仅限 PDF
提取矢量图形 所有文档类型 有限
绘制矢量图形(PDF)
基于现有成熟库 MuPDF QPDF
损坏 PDF 文件的自动修复
加密 PDF 有限 有限
线性化 PDF
增量更新
与 Jupyter 和 IPython 笔记本集成
合并 PDF 与其他文档类型 所有文档类型 仅限 PDF 仅限 PDF 仅限 PDF 仅限 PDF
无缝集成 OCR API 与 Tesseract 所有文档类型
集成的检查点/重启功能(PDF)
PDF 可选内容
PDF 嵌入文件 有限 有限
PDF 编辑
PDF 批注 完整 有限
PDF 表单字段 创建、读取、更新 有限,不支持创建
PDF 页面标签
支持字体子集

注意

关于Office文档类型(DOCX、XLXS、PPTX)和Hangul文档(HWPX)的说明。这些文档可以加载到 PyMuPDF 中,您将收到一个文档对象。

这里有一些注意事项:

  • 我们将输入转换为HTML以布局内容。

  • 由于这个原始页面分隔已经消失。

在保存结果时,不能期望得到原始布局的忠实表示。

因此,输入文件大多数情况下是有利于文本提取的形式。


性能

为了对 PyMuPDF 在一系列任务中的性能进行基准测试,使用了一个固定的测试套件,其中包含了 8 个 PDF 文件,共 7031 页,包含文本和图像,以获取性能时间。

这里是按任务分组的当前结果:

复制

这是指打开文档,然后将其保存为新文件。此测试测量了读取 PDF 和重写为新 PDF 的速度。这一过程也是类似合并/连接多个文档的核心功能。因此,下面的数字适用于 PDF 合并和连接。

所有 7,031 页的结果如下:

600500400300200100

seconds3.0510.5433.57494.04PyMuPDFPDFrwPikePDFPyPDF2fastest←←slowest

文本提取

这是指从文档的每一页提取简单的纯文本,并将其存储在文本文件中。

所有 7,031 页的结果如下:

400300200100

seconds8.0127.42101.64227.27PyMuPDFXPDFPyPDF2PDFMinerfastest←←slowest

渲染

这是指根据给定 DPI 分辨率从文档的每一页制作图像(如 PNG)。此功能是在 GUI 窗口中显示文档的基础。

所有 7,031 页的结果如下:

1000800600400200

seconds367.04646851.52PyMuPDFXPDFPDF2JPGfastest← *注

有关这些性能计时方法的详细信息,请参阅:性能比较方法论。


PyMuPDF 1.24.4 中文文档(一)(2)https://developer.aliyun.com/article/1559431

相关文章
|
4月前
|
XML 数据安全/隐私保护 数据格式
PyMuPDF 1.24.4 中文文档(七)(3)
PyMuPDF 1.24.4 中文文档(七)
115 0
|
4月前
|
存储 XML 编解码
PyMuPDF 1.24.4 中文文档(三)(1)
PyMuPDF 1.24.4 中文文档(三)
163 0
|
4月前
|
JSON API 数据格式
PyMuPDF 1.24.4 中文文档(四)(5)
PyMuPDF 1.24.4 中文文档(四)
41 0
|
4月前
|
XML 存储 编解码
PyMuPDF 1.24.4 中文文档(八)(5)
PyMuPDF 1.24.4 中文文档(八)
281 1
PyMuPDF 1.24.4 中文文档(八)(5)
|
4月前
|
安全 API 数据安全/隐私保护
PyMuPDF 1.24.4 中文文档(一)(3)
PyMuPDF 1.24.4 中文文档(一)
194 2
|
4月前
|
XML 编解码 文字识别
PyMuPDF 1.24.4 中文文档(八)(4)
PyMuPDF 1.24.4 中文文档(八)
233 1
|
4月前
|
存储 资源调度 JavaScript
PyMuPDF 1.24.4 中文文档(八)(1)
PyMuPDF 1.24.4 中文文档(八)
155 0
PyMuPDF 1.24.4 中文文档(八)(1)
|
4月前
|
存储 测试技术 数据安全/隐私保护
PyMuPDF 1.24.4 中文文档(七)(2)
PyMuPDF 1.24.4 中文文档(七)
74 0
|
4月前
|
XML 数据格式 索引
PyMuPDF 1.24.4 中文文档(六)(4)
PyMuPDF 1.24.4 中文文档(六)
43 0
|
4月前
|
存储 编解码 文字识别
PyMuPDF 1.24.4 中文文档(九)(1)
PyMuPDF 1.24.4 中文文档(九)
59 0