使用 Python 处理 PDF 文件2025年03月17日 | 阅读 9 分钟 在当今世界,我们都熟悉 PDF 文件,因为它们是最广泛使用的文档数字格式之一。PDF 的全称是“Portable Document Format”(便携式文档格式),它使用“.pdf”扩展名来保存文档文件。这独立于软件、硬件或操作系统,可用于可靠地呈现或交换文档。 PDF 由 Adobe 发明,现在由国际标准化组织维护,是一个开放标准。PDF 文件还可以包含链接、按钮、表单字段、音频、视频或其他业务逻辑,以便与用户或查看者进行更好的交互。 在本教程中,我们将讨论如何执行各种操作
我们可以通过使用简单的 Python 脚本来执行所有这些操作。 安装为了与 PDF 文件进行交互,我们将使用一个第三方模块,即 **PyPDF2**。PyPDF2 是 Python 的一个内置库,用作 PDF 工具包。该模块能够
要安装 PyPDF2,我们可以从命令行使用以下命令 该模块的名称是区分大小写的,因此我们需要确保“y”是小写字母,并且模块名称中的所有内容都必须是大写字母。 使用 PyPDF2 模块对 PDF 文件执行操作在本节中,我们将讨论使用 Python 中的 PyPDF2 模块可以对 PDF 文件执行的各种操作。 1. 如何从 PDF 文档文件中提取文本。我们可以使用 Python 中的 PyPDF2 模块,通过以下方法从 PDF 文件中提取文本。 方法 要使用 Python 从 PDF 文件中提取文本,我们将遵循以下步骤 步骤 1:我们将以二进制模式打开名为 'exp.pdf' 的 PDF 文件,并将文件对象保存为“**pdf_File_Object**”。 步骤 2:我们将为“**PyPDF2**”模块的“**PDFFileReader**”类创建一个名为“**pdf_Reader**”的对象,然后我们将传递 PDF 文件对象并获取用于读取 PDF 的对象。 步骤 3:要获取 PDF 文档文件中的页数,我们将使用 **numPages** 步骤 4:我们将为 **“PyPDF2”** 模块的 **PageObject** 类创建一个名为“**page_Object**”的对象。PDF 阅读器对象有一个名为 **“getPage()”** 的函数,它接受页码作为参数并返回该页面的对象。 步骤 5:我们将使用 page object 的 extract text 函数从 PDF 页面提取文本。 步骤 6:最后,我们将关闭 PDF 文档文件对象。 代码 输出 No. of pages in the given PDF file: 10 GUIDELINES * FOR RE - OPENING OF CAMPUS IN VIEW OF COVID - 19 PANDEMIC (FOR STUDENTS ) 2021 - 22 这将在输出中打印 PDF 文件第一页的文本。 2. 如何旋转 PDF 文件页面我们可以使用 Python 中的 PyPDF2 模块来旋转 PDF 文件页面。 方法 为了旋转给定 PDF 文件的页面,我们将使用以下步骤 步骤 1:我们将为原始 PDF 创建一个 PDF 阅读器对象。 步骤 2:我们将把旋转后的页面写入新的 PDF 文件。为了写入 PDF 文件,我们将使用 **PyPDF2** 中 **pdfFileWriter** 类的对象。 步骤 3:我们将遍历原始 PDF 文档文件的每个页面。我们将使用 PDF 读取器类的 **getPage()** 函数获取页面对象。然后,我们将使用页面对象的 **rotateClockwise()** 函数旋转页面。 步骤 4:我们将使用 PDF 写入器类的 **addPage()** 函数将页面添加到 PDF 写入器对象,并传递旋转后的页面对象。 步骤 5:然后,我们将把 PDF 页面写入新创建的 PDF 文件。我们可以通过打开新文件对象并使用 PDF 写入器对象的 **write()** 函数来写入 PDF 页面。 步骤 6:我们将关闭原始 PDF 文件对象和新创建的新文件对象。 代码 输出 原始文件 ![]() 旋转后的文件 ![]() 3. 如何合并两个 PDF 文件。我们可以使用 Python 中的 PyPDF2 模块合并两个 PDF 文件。 方法 要在 Python 中合并两个 PDF 文件,我们将使用以下步骤 步骤 1:为了合并两个 PDF 文件,我们将使用 **PyPDF2** 的一个预建类 **pdfFileMerger**。 步骤 2:然后,我们将使用 **append()** 函数将每个 PDF 的文件对象附加到 PDF 合并器对象。 步骤 3:最后,我们将使用 PDF 合并器对象的 write 方法将 PDF 页面写入输出 PDF 文件。 代码 输出 此代码的输出将是以名为 **combined_exp.pdf** 的合并 PDF 的形式,该文件是通过合并 **exp.pdf** 和 **rotate_exp.pdf** 文件获得的。 ![]() 4. 如何分割 PDF 文件我们可以根据需要,使用 PyPDF2 模块在 Python 中分割 PDF 文档文件。 在此代码中,我们将不使用新函数或类,而是使用简单的逻辑和迭代。PDF 的分割将根据我们传递的 splits_1 列表创建。 代码 输出 此代码的输出将生成 3 个新的 PDF 文件,这些文件是主 PDF 的分割文件。我们可以在 PDF 文件夹中进行检查。它包含 3 个新的 PDF 文件。 ![]() 5. 如何为 PDF 页面添加水印。我们可以使用 Python 中的 PyPDF2 模块为 PDF 文档文件的页面添加水印。 方法 在此,我们将遵循与页面旋转示例相同的每个步骤,唯一的区别是 将使用 **add_watermark()** 函数将页面对象转换为水印页面对象。 为了理解 **add_watermark()** 函数的作用,我们可以看以下示例 在此,首先我们创建了 watermark.pdf 文件的 PDF 阅读器对象。对于传递的页面对象,我们使用了 **mergepage()** 函数,该函数传递了 watermark PDF 阅读器对象的第一页的页面对象。这将导致 watermark PDF 叠加到传递的页面对象上。 代码 输出 watermark.pdf ![]() user_watermark.pdf 文件 ![]() 上面的代码将生成一个 **user_Watermark.pdf** 文件,其中包含 **water_mark.pdf** 文件中的水印。 结论在本教程中,我们讨论了如何使用 Python 及其模块的函数和方法来操作 PDF 文件。 下一主题PDF 处理 Python |
理解二维码 二维码是一种机器可读的条形码,以二维像素化形式设计。二维码可用于存储各种数据。“QR”是“快速响应”(Quick Response)的缩写。二维码于1994年由日本工程师原昌宏(Masahiro Hara)发明...
5 分钟阅读
在本教程中,我们将编写一个 Python 程序,打印出列表元素所有可能的组合。我们将以三个不同的整数作为输入,并打印出这些数字所有可能的组合。这是一个相当简单的程序;它可能会被问到...
阅读 3 分钟
(通常称为 regex 或 RegEx)是定义搜索模式的字符序列。它们用于匹配字符串中的模式,并对其执行各种操作,例如替换、提取或拆分。RegEx 是一个强大的文本处理工具,并且是...
阅读 6 分钟
| Python 为什么不支持指针。在本教程中,我们将了解 Python 中的指针,并看看 Python 为什么不支持指针概念。我们还将了解如何在 Python 中模拟指针。下面是对指针的介绍,适合那些不熟悉......
阅读9分钟
? 无论您是刚开始学习还是希望在面试前巩固技能,都可以找到完美的 Python 练习。像学习任何其他技能一样,在掌握一门新编程语言时,坚持不懈至关重要。我们建议每天练习编码...
7 分钟阅读
:特性与差异 什么是 Julia,为什么它正在成为数据科学家最喜爱的编程语言?此外,它与 Python 有哪些异同?我们将以 Python 为参考,突出 Julia 的优势,并讨论实际...
11 分钟阅读
您可以使用 Advanced Python Scheduler (APScheduler) Python 包来安排您的 Python 代码稍后运行,一次或多次。您可以灵活地根据需要添加新任务和删除旧任务。如果您的作业能够经受住调度程序重启并保持其状态,那么您将...
阅读 6 分钟
本教程将讨论一个有趣的 Python 复杂数字项目。我们将学习分形,并使用 Mandelbrot 集的插图与 Python 的 Matplotlib 和 Pillow 库创作令人惊叹的艺术作品。我们还将找出实现过程……
14 分钟阅读
在本文中,您将学习 Python 中的最长公共前缀。在 Python 中有多种方法可以找到最长公共前缀。但在讨论这些方法之前,您必须了解最长公共前缀。什么是最长公共前缀?最长的字符串是...
阅读 10 分钟
树莓派是一款低成本、信用卡大小的计算机,由英国树莓派基金会开发,用于支持教育机构的基础计算机科学教学。此后,它因各种项目而在创客、爱好者和专家中广受欢迎。Python 是一种流行的、高级的...
阅读25分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India