PyMuPDF 1.24.4 中文文档(六)(4)

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

PyMuPDF 1.24.4 中文文档(六)(3)https://developer.aliyun.com/article/1559577


信息

显示嵌入文件的名称(长格式或短格式):

pymupdf embed-info -h
usage: fitz embed-info [-h] [-name NAME] [-detail] [-password PASSWORD] input
--------------------------- list embedded files ---------------------------
positional arguments:
input               PDF filename
optional arguments:
-h, --help          show this help message and exit
-name NAME          if given, report only this one
-detail             show detail information
-password PASSWORD  password 

示例:

pymupdf embed-info some.pdf
'some.pdf' contains the following 15 embedded files.
20110813_180956_0002.jpg
20110813_181009_0003.jpg
20110813_181012_0004.jpg
20110813_181131_0005.jpg
20110813_181144_0006.jpg
20110813_181306_0007.jpg
20110813_181307_0008.jpg
20110813_181314_0009.jpg
20110813_181315_0010.jpg
20110813_181324_0011.jpg
20110813_181339_0012.jpg
20110813_181913_0013.jpg
insta-20110813_180944_0001.jpg
markiert-20110813_180944_0001.jpg
neue.datei 

每个条目的详细输出如下:

name: neue.datei
 filename: text-tester.pdf
ufilename: text-tester.pdf
     desc: nur zum Testen!
     size: 4639
   length: 1566 

提取

这样提取嵌入文件:

pymupdf embed-extract -h
usage: fitz embed-extract [-h] -name NAME [-password PASSWORD] [-output OUTPUT]
                        input
---------------------- extract embedded file to disk ----------------------
positional arguments:
input                 PDF filename
optional arguments:
-h, --help            show this help message and exit
-name NAME            name of entry
-password PASSWORD    password
-output OUTPUT        output filename, default is stored name 

有关详细信息,请参阅Document.embfile_get()。示例(参见前一节):

pymupdf embed-extract some.pdf -name neue.datei
Saved entry 'neue.datei' as 'text-tester.pdf' 

删除

这样删除嵌入文件:

pymupdf embed-del -h
usage: fitz embed-del [-h] [-password PASSWORD] [-output OUTPUT] -name NAME input
--------------------------- delete embedded file --------------------------
positional arguments:
input                 PDF filename
optional arguments:
-h, --help            show this help message and exit
-password PASSWORD    password
-output OUTPUT        output PDF filename, incremental save if none
-name NAME            name of entry to delete 

有关详细信息,请参阅Document.embfile_del()

插入

使用此命令添加新的嵌入文件:

pymupdf embed-add -h
usage: fitz embed-add [-h] [-password PASSWORD] [-output OUTPUT] -name NAME -path
                    PATH [-desc DESC]
                    input
---------------------------- add embedded file ----------------------------
positional arguments:
input                 PDF filename
optional arguments:
-h, --help            show this help message and exit
-password PASSWORD    password
-output OUTPUT        output PDF filename, incremental save if none
-name NAME            name of new entry
-path PATH            path to data for new entry
-desc DESC            description of new entry 

“名称” 不能已经存在于 PDF 中。有关详细信息,请参阅Document.embfile_add()

更新

使用此命令更新现有的嵌入文件:

pymupdf embed-upd -h
usage: fitz embed-upd [-h] -name NAME [-password PASSWORD] [-output OUTPUT]
                    [-path PATH] [-filename FILENAME] [-ufilename UFILENAME]
                    [-desc DESC]
                    input
--------------------------- update embedded file --------------------------
positional arguments:
input                 PDF filename
optional arguments:
-h, --help            show this help message and exit
-name NAME            name of entry
-password PASSWORD    password
-output OUTPUT        Output PDF filename, incremental save if none
-path PATH            path to new data for entry
-filename FILENAME    new filename to store in entry
-ufilename UFILENAME  new unicode filename to store in entry
-desc DESC            new description to store in entry
except '-name' all parameters are optional 

使用这种方法来更改文件的元信息 - 只需省略*“路径”*。有关详细信息,请参阅Document.embfile_upd()

复制

在 PDF 之间复制嵌入的文件:

pymupdf embed-copy -h
usage: fitz embed-copy [-h] [-password PASSWORD] [-output OUTPUT] -source
                    SOURCE [-pwdsource PWDSOURCE]
                    [-name [NAME [NAME ...]]]
                    input
--------------------- copy embedded files between PDFs --------------------
positional arguments:
input                 PDF to receive embedded files
optional arguments:
-h, --help            show this help message and exit
-password PASSWORD    password of input
-output OUTPUT        output PDF, incremental save to 'input' if omitted
-source SOURCE        copy embedded files from here
-pwdsource PWDSOURCE  password of 'source' PDF
-name [NAME [NAME ...]]
                      restrict copy to these entries 

文本提取

  • 在 v1.18.16 中新增

从任意支持的文档中提取文本到文本文件。目前,有三种输出格式模式可用:简单、块排序和复制物理布局。

  • 简单文本提取会复制文档页面中显示的所有文本 - 不会做任何特定阅读顺序的重新排列。
  • 块排序按升序垂直,然后水平坐标对文本块(由 MuPDF 标识)进行排序。这应足以为基本文本页建立“自然”的阅读顺序。
  • 布局致力于复制输入页面的原始外观。您可以期待像这样的结果(由命令pymupdf gettext -pages 1 demo1.pdf生成):


注意

“gettext”命令提供了类似于 XPDF 软件的 CLI 工具pdftotext的功能,www.foolabs.com/xpdf/ - 对于“布局”模式,这是特别真实的,该模式结合了该工具的-layout-table选项。

在输出文件的每个页面之后,都会写入一个换页符,hex(12) - 即使输入页面根本没有文本。此行为可以通过选项进行控制。

注意

对于“布局”模式,只支持水平、从左到右、从上到下的文本,其他文本将被忽略。在此模式下,如果文本的fontsize太小,也会被忽略。

与之相反,“简单”和“块”模式输出所有文本,无论文本大小或方向如何。

命令:

pymupdf gettext -h
usage: fitz gettext [-h] [-password PASSWORD] [-mode {simple,blocks,layout}] [-pages PAGES] [-noligatures]
                    [-convert-white] [-extra-spaces] [-noformfeed] [-skip-empty] [-output OUTPUT] [-grid GRID]
                    [-fontsize FONTSIZE]
                    input
----------------- extract text in various formatting modes ----------------
positional arguments:
input                 input document filename
optional arguments:
-h, --help            show this help message and exit
-password PASSWORD    password for input document
-mode {simple,blocks,layout}
                        mode: simple, block sort, or layout (default)
-pages PAGES          select pages, format: 1,5-7,50-N
-noligatures          expand ligature characters (default False)
-convert-white        convert whitespace characters to space (default False)
-extra-spaces         fill gaps with spaces (default False)
-noformfeed           write linefeeds, no formfeeds (default False)
-skip-empty           suppress pages with no text (default False)
-output OUTPUT        store text in this file (default inputfilename.txt)
-grid GRID            merge lines if closer than this (default 2)
-fontsize FONTSIZE    only include text with a larger :data:`fontsize` (default 3) 

注意

命令选项可以缩写,只要不会引入歧义。所以以下做同样的事情:

  • ... -output text.txt -noligatures -noformfeed -convert-white -grid 3 -extra-spaces ...

  • ... -o text.txt -nol -nof -c -g 3 -e ...

输出文件名默认为输入文件名,并将其扩展名替换为.txt。与其他命令一样,您可以选择页面范围(注意:基于 1 的索引!)以mutool格式选择,如上所示。

  • mode: (字符串)选择格式模式,默认为“布局”模式。
  • noligatures: (布尔值)对应于 TEXT_PRESERVE_LIGATURES。如果指定,连字(存在于高级字体中:将多个字符组合成一个字形,如“fi”)将被拆分为其组成部分(即“f”,“i”)。默认为保留它们。
  • convert-white: 对应于 TEXT_PRESERVE_WHITESPACE。如果指定,所有空白字符(如制表符)将被替换为一个或多个空格。默认为保留它们。
  • extra-spaces: (布尔值)对应于 TEXT_INHIBIT_SPACES。如果指定,邻近字符之间的大间隙将填充为一个或多个空格。默认为关闭。
  • noformfeed: (布尔值)而不是hex(12)(进纸符),在输出页面的末尾写入换行符n
  • skip-empty: (布尔值)跳过没有文本的页面。
  • grid: 竖直坐标差值不超过此数值(以点为单位)的线将合并为同一输出行。仅适用于“布局”模式。使用时请注意: 大多数情况下,3 或默认值 2 应该足够。如果过大,原本意图不同的行可能被合并,导致输出混乱或不完整。如果过小,输入行中某些跨度使用稍有偏差属性的不同字体可能会生成单独的输出行。
  • fontsize: 仅包括fontsize大于此值的文本(默认为 3)。仅适用于“布局”选项。

对本页有任何反馈吗?


此软件按原样提供,不带任何明示或暗示的保证。此软件按许可分发,未经许可明确授权,不得复制、修改或分发。请参阅artifex.com上的许可信息或联系 Artifex Software Inc.,39 Mesa Street,Suite 108A,San Francisco CA 94129,美国获取更多信息。

此文档覆盖所有版本直至 1.24.4。


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

  • 注释
  • 注释
  • MuPDF 中的注释图标
  • 示例
  • 存档
  • Archive
  • 颜色空间
  • 颜色空间
  • 显示列表
  • 显示列表
  • 文档
  • 文档
  • set_metadata() 示例
  • set_toc() 演示
  • insert_pdf() 示例
  • 其他示例
  • 文档编写器
  • 文档编写器
  • 字体
  • 字体
  • 身份
  • 整数矩形
  • IRect
  • 链接
  • 链接
  • 链接目标
  • 链接目标
  • 矩阵
  • 矩阵
  • 示例
  • 大纲
  • 大纲
  • 页面
  • 修改页面
  • get_links() 条目的描述
  • 关于支持链接的说明
  • 文档和页面的同源方法
  • 像素图
  • 像素图
  • 支持的输入图像格式
  • 支持的输出图像格式
  • 四边形
  • 四边形
  • 备注
  • 代数和包含检查
  • 矩形
  • 矩形
  • 形状
  • 形状
  • 用法
  • 示例
  • 常见参数
  • 故事
  • 故事
  • 元素定位回调函数
  • 文本页
  • 文本页
  • 字典输出的结构
  • 文本编写器
  • 文本编写器
  • 工具
  • 工具
  • 示例会话
  • 小部件
  • 小部件
  • 小部件的标准字体
  • 支持的小部件类型
  • XML
  • XML
  • 设置文本属性
  • XML 类的上下文管理器支持

你对这个页面有任何反馈意见吗?


此软件按原样提供,不提供任何明示或暗示的保证。此软件根据许可分发,未经授权不得复制、修改或分发。请参阅许可信息,网址为 artifex.com,或联系美国旧金山 CA 94129 Mesa Street 39 号 108A 室的 Artifex Software Inc. 了解更多信息。

此文档涵盖了所有版本直至 1.24.4。


PyMuPDF 1.24.4 中文文档(六)(5)https://developer.aliyun.com/article/1559579

相关文章
|
4月前
|
XML 数据安全/隐私保护 数据格式
PyMuPDF 1.24.4 中文文档(七)(3)
PyMuPDF 1.24.4 中文文档(七)
115 0
|
4月前
PyMuPDF 1.24.4 中文文档(五)(1)
PyMuPDF 1.24.4 中文文档(五)
65 3
|
4月前
|
XML JavaScript 前端开发
PyMuPDF 1.24.4 中文文档(十)(1)
PyMuPDF 1.24.4 中文文档(十)
49 0
|
4月前
|
存储 XML 编解码
PyMuPDF 1.24.4 中文文档(三)(1)
PyMuPDF 1.24.4 中文文档(三)
167 0
|
4月前
|
文字识别 API 数据安全/隐私保护
PyMuPDF 1.24.4 中文文档(一)(4)
PyMuPDF 1.24.4 中文文档(一)
158 3
|
4月前
|
安全 API 数据安全/隐私保护
PyMuPDF 1.24.4 中文文档(一)(3)
PyMuPDF 1.24.4 中文文档(一)
194 2
|
4月前
|
文字识别 API 数据安全/隐私保护
PyMuPDF 1.24.4 中文文档(一)(1)
PyMuPDF 1.24.4 中文文档(一)
158 1
|
4月前
|
存储 XML 数据安全/隐私保护
PyMuPDF 1.24.4 中文文档(八)(2)
PyMuPDF 1.24.4 中文文档(八)
444 1
|
4月前
|
存储 机器学习/深度学习 XML
PyMuPDF 1.24.4 中文文档(二)(3)
PyMuPDF 1.24.4 中文文档(二)
116 0
PyMuPDF 1.24.4 中文文档(二)(3)
|
4月前
|
XML JSON API
PyMuPDF 1.24.4 中文文档(六)(5)
PyMuPDF 1.24.4 中文文档(六)
112 0
PyMuPDF 1.24.4 中文文档(六)(5)
下一篇
无影云桌面