使用python解析pdf文件

使用python解析pdf文件

本文主要介绍怎么使用python解析pdf文件

pdf文件格式

今天,pdf已经是最常用的数据格式。在1990, Adobe公司定义pdf文档的结构。PDF 格式背后的理念是,传输的数据/文档对于参与通信过程的双方(创建者、作者或发送者以及接收者)来说看起来完全相同。PDF 是 PostScript 格式的继承者,并被标准化为 ISO 32000-2:2017。

处理PDF文件

对于 Linux,有强大的命令行工具可用,例如 pdftk 和 pdfgrep。但作为开发人员,基于 Python库构建自己的 PDF 软件, 并可以免费使用,是一件非常令人兴奋的事情。
本文是一个小系列的开始,将介绍一些有用的 Python 库。 在第一部分中,我们将重点关注已有 PDF 的处理。 将介绍如何读取PDF和提取内容(文本和图像)、旋转单页以及将文档拆分为单独的页面。 第二部分将介绍基于叠加层添加水印。 第三部分将专注于编写/创建 PDF,还将包括删除和重新组合单个页面到新文档中。

工具和库

Python 相关的 PDF 工具、模块和库有点混乱,需要花点时间弄清楚什么是什么,以及哪些项目是持续维护的。根据我们的调研,以下是最新的库:

  • PyPDF2: 一个用于提取文档信息和内容、逐页拆分文档、合并文档、裁剪页面和添加水印的 Python 库。 PyPDF2 支持加密和加密文档。2016年后就没在更新和维护。
  • PDFMiner:这个包完全用 Python 编写,适用于 Python 2.4。对于 Python 3来说,请使用pdfminer.six这两个包都可以解析、分析和转换 PDF 文档。这包括对 PDF 1.7 以及 CJK 语言(中文、日语和韩语)和各种字体类型(Type1、TrueType、Type3 和 CID)的支持。该库目前还在维护和更新。
  • PDFQuery:它将自己描述为“一个快速且友好的 PDF 抓取库”,通过封装 PDFMiner、lxml 和 pyquery 而实现的。它的设计目标是“用尽可能少的代码从多个 PDF 中可靠地提取数据”。2016年后就没在更新和维护。
  • tabula-py:它是对tabula-java 的简单Python 包装,可以从 PDF 中读取表格并将它们转换为 Pandas 数据格式,还能将 PDF 文件转换为 CSV/TSV/JSON 文件。该库目前还在维护和更新。
  • pdflib for Python:它是对 Poppler 库的扩展。它可以解析、分析和转换 PDF 文档。2019年后就没在更新和维护。
  • PyFPDF: Python下的PDF文档生成库。它从 FPDF PHP 库移植而来,FPDF是一个著名的 PDFlib 替代库,它有许多示例、脚本。2017年后就没在更新和维护。
  • PDFTables:提供从 PDF 文档中提取表格的商业服务.提供 API 以便 PDFTables 可以用作 SAAS。
  • PyX -Python 图形包:PyX 是用于创建 PostScript、PDF 和 SVG 文件的 Python 包。它结合了 PostScript 绘图模型的抽象和 TeX/LaTeX 接口。该库目前还在维护和更新。
  • ReportLab: 一个强大的库,主要专注于 PDF 文档的精确创建。免费提供开源版本以及名为 ReportLab PLUS 的商业增强版。该库目前还在维护和更新。
  • PyMuPDF (又称为 “fitz”)MuPDF 的 Python 绑定,这是一个轻量级的 PDF 和 XPS 查看器。该库可以访问 PDF、XPS、OpenXPS、epub、漫画和小说格式的文件,并以其顶级性能和高渲染质量而闻名。该库目前还在维护和更新。
  • pdfrw:一个纯基于 Python 的 PDF 解析器,用于读写 PDF。一个纯基于 Python 的 PDF 解析器,用于读写 PDF。它真实地再现矢量格式而无需光栅化。与 ReportLab 结合使用,它有助于在使用

你可能感兴趣的:(Python学习,python,开发语言,后端)