Python PDF神器PyMuPDF使用指南 (五)——命令行使用

系列文章:

Python PDF神器PyMuPDF使用指南 (一)——安装和基础功能

Python PDF神器PyMuPDF使用指南 (二)——文件和文本功能

Python PDF神器PyMuPDF使用指南 (三)——图像和注释功能

Python PDF神器PyMuPDF使用指南 (四)——绘图、多线程和OCR功能

Python PDF神器PyMuPDF使用指南 (五)——命令行使用

Python PDF神器PyMuPDF使用指南 (六)——Document类详解

Python PDF神器PyMuPDF使用指南 (七)——Page类详解

 Python PDF神器PyMuPDF使用指南 (八)——基础使用指南


正文:

PyMuPDF是一个高性能的Python库,用于PDF(和其他)文档的数据提取、分析、转换和操作。

Github地址为:pymupdf代码库

官方文档地址为:PyMuPDF文档

前面几篇文章详细介绍了PyMuPDF的主要功能,本文将继续介绍PyMuPDF的API参考使用方式。PyMuPDF的API有好几类,目前的方法包括命令行和Python库调用。从本文开始会介绍命令行和Python库调用的详细方法。本文主要介绍命令行功能的详情。

命令行基本功能

版本 1.16.8 新增功能

PyMuPDF 现在可以通过命令行执行各种实用功能,这减少了编写基本脚本的需求。

虽然该功能在某些方面与 MuPDF 的 CLI 工具 mutool 有所重叠,但 PyMuPDF 提供了一些 MuPDF 不再支持的独特功能,例如 PDF 内嵌文件的操作。

调用方式

命令行界面可以通过以下两种方式调用:

1. 使用已安装的 pymupdf 命令:

pymupdf <命令和参数>

2. 使用 Python 的 -m 选项运行 PyMuPDF 的 fitz 模块:

python -m fitz <命令和参数>

一般说明:

  • 通过 -h 获取帮助信息,或者使用 命令 -h 查看特定命令的帮助。
  • 参数可缩写,但不能引起歧义。
  • 多个命令支持 -pages 和 -xrefs 参数,用于筛选页面或对象:
    • 页面编号从 1 开始(即 1-based)。
    • 有效的 xref 编号从 1 开始
    • 请指定一个以逗号分隔的列表,其中可以包含单个整数或整数范围。整数范围由一对用连字符“-”分隔的整数表示。整数不能超过最大页码或最大 xref(交叉引用)编号。要指定最大值,可以使用符号变量“N”。整数或范围可以多次出现,顺序不限,也可以重叠。如果范围内的第一个数字大于第二个数字,则相应的项目将按照相反的顺序处理。

在脚本中使用该模块:

import pymupdf.__main__
import sys

cmd = "clean input.pdf output.pdf -pages 1,N".split()  # 准备命令行参数
saved_parms = sys.argv[1:]  # 保存原始命令行参数
sys.argv[1:] = cmd  # 赋值新命令行参数
pymupdf.__main__.main()  # 执行 PyMuPDF 命令
sys.argv[1:] = saved_parms  # 还原原始命令行参数

或者,使用以下 2 行代码并使用 Nuitka 编译为独立模式的可执行文件,即可创建一个无需安装 Python、PyMuPDF 或 MuPDF 依赖的 CLI 工具:

from pymupdf.__main__ import main
main()

PDF 清理和复制

该命令优化 PDF 并将结果存储为新文件,可用于加密、解密或提取子文档。其功能类似于 mutool clean

pymupdf clean -h
usage: fitz clean [-h] [-password PASSWORD]
                [-encryption {keep,none,rc4-40,rc4-128,aes-128,aes-256}]
                [-owner OWNER] [-user USER] [-garbage {0,1,2,3,4}]
                [-compress] [-ascii] [-linear] [-permission PERMISSION]
                [-sanitize] [-pretty] 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

塞大花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值