解锁PDF处理新境界:PyMuPDF,Python 的 PDF 宝藏库

图片[1]-解锁PDF处理新境界:PyMuPDF,Python 的 PDF 宝藏库-山海云端论坛

1. PyMuPDF简介

1.1 了解MuPDF

MuPDF是一个轻量级的PDF、XPS和电子书查看器,拥有高质量的渲染器和完整的功能。它支持多种文档格式,如PDF、XPS、OpenXPS、CBZ、EPUB和FictionBook 2。PyMuPDF是MuPDF的Python接口形式。

1.2 功能

  • 解密文件
  • 访问元信息、链接和书签
  • 以栅格或矢量格式呈现页面
  • 搜索文本、提取文本和图像
  • 转换为其他格式:PDF、(X)HTML、XML、JSON、text
  • PDF文档附加功能:创建、合并、拆分、插入、删除、重新排列页面,提取或插入图像和字体,嵌入式文件,重新格式化PDF,密码保护等

1.3 安装

  • 从源码或wheels安装
  • 无外部依赖项,可选用Pillow和fontTools

2. 使用方法

2.1 导入库和查看版本

<code>import fitz print(fitz.__doc__)</code>

2.2 打开文档和获取元数据

<code>doc = fitz.open(filename) print(doc.page_count) # 页数 print(doc.metadata) # 元数据</code>

2.3 获取目录

<code>toc = doc.get_toc()</code>

2.4 页面处理

  • 检查链接、注释或表单字段
<code>links = page.get_links()</code>
  • 呈现页面
<code>pix = page.get_pixmap()</code>
  • 将页面图像保存到文件
<code>pix.save("page-%i.png" % page.number)</code>
  • 提取文本和图像
<code>text = page.get_text(opt)</code>
  • 搜索文本
<code>areas = page.search_for("mupdf")</code>

3. PDF操作

3.1 修改、创建、重新排列和删除页面

<code>doc.delete_page(pno) doc.delete_pages(pages) doc.copy_page(pno) doc.fullcopy_page(pno) doc.move_page(pno, direction) doc.select(pages) doc.insert_page(pno) doc.new_page(width, height)</code>

3.2 连接和拆分PDF文档

<code>doc1.insert_pdf(doc2) doc2.insert_pdf(doc1, to_page=9) doc2.insert_pdf(doc1, from_page=len(doc1) - 10)</code>

3.3 保存和关闭

<code>doc.save(filename, incremental=True) doc.close()</code>

这样就对PyMuPDF进行了简要的介绍和使用方法说明,让你可以更好地利用这个强大的库进行PDF处理。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容