产品比较

IronPDF For Python 与 PyPDF 的比较

发布 2023年八月7日
分享:

介绍

PDF文件(便携式文档格式) 是一种广泛使用的文件格式,可在不同平台上保留文档信息的布局和格式。 由于无论使用何种设备或操作系统打开,它们都能保持一致的外观,因此在各行各业都非常受欢迎。 PDF 通常用于共享报告、发票、表格、电子书、自定义数据和其他重要文件。

用 Python 处理 PDF 文件已成为许多项目的一个重要方面。 Python 提供了多个库,可简化对 PDF 文件的操作,使提取信息、创建新文档、合并或拆分现有文档以及执行其他 PDF 相关任务变得更加容易。

在本文中,我们将对两个著名的用于处理 PDF 文件的 Python 库进行全面比较: PyPDFIronPDF。 通过评估这两个库的特点和功能,我们旨在为开发人员提供有价值的见解,帮助他们有意识地决定哪一个最适合其特定的软件应用需求。

这些库提供了强大的工具来简化处理 PDF 的工作,使开发人员能够在其 Python 应用程序中有效地处理 PDF 文档。 因此,让我们深入比较和探索每个库的优势,以促进您的 PDF 相关任务。

PyPDF - 纯 Python PDF 库

PyPDF是一个纯 Python PDF 库,提供读取、写入、解密 PDF 文件和操作 PDF 文档的基本功能。 它允许开发人员从 PDF 中提取文本和图像、合并多个 PDF 文件、将大 PDF 分割成小 PDF 等等。 PyPDF 以其简单易用而著称,是完成简单 PDF 任务的合适选择。

它为处理 PDF 文档提供了一套全面的功能,是完成各种 PDF 相关任务的绝佳选择。

特点

PyPDF 是 Python PDF 库,具有以下功能:

  • 阅读 PDF 文件: 从现有 PDF 文件中提取文本、图像和元数据。
  • 编写 PDF 文件: 从零开始创建新的 PDF 文件或使用文本和图像修改现有的 PDF 文件。
  • 合并 PDF 文件: 将多个 PDF 文件合并为一个文档。
  • 分割 PDF 文件:将 PDF 分成单独的文件,每个文件包含一个或多个页面。
  • 旋转和覆盖页面: 旋转页面并在 PDF 上添加水印或覆盖层。
  • 加密和解密 PDF 文件: 通过加密和解密 PDF 文件来增加其安全性。
  • 提取文本: 从 PDF 或页面中的特定区域提取纯文本。
  • 提取图片: 检索 PDF 文件中嵌入的图片。
  • 操作 PDF 文件: 在 PDF 文件中复制、删除或重新排列页面。
  • 表单字段填充: 以编程方式填充 PDF 中的表单字段。

IronPDF - Python PDF 库

IronPDFIronPDF for Python 是构建在 IronPDF 的 .NET 库之上的 Python 综合 PDF 操作库。 它提供了一个功能强大的 API,具有将 HTML 转换为 PDF、处理 PDF 注释和表单域以及高效执行复杂 PDF 操作等高级功能。 对于需要强大的 PDF 处理能力、性能和广泛的功能支持的项目,IronPDF 会受到青睐。

IronPDF for Python 是一个 Python PDF 库,能够无缝处理 PDF 处理任务。 它为 Python 开发人员提供了可靠且功能丰富的 PDF 操作解决方案。 使用 IronPDF,您可以毫不费力地生成、修改和提取 PDF 中多个页面的内容,使其成为各种 PDF 相关应用程序的绝佳选择。

特点

以下是 IronPDF 的一些突出特点:

  • *PDF 生成***: IronPDF 允许开发人员从头开始创建 PDF 文档,或将 HTML 内容转换为 PDF 格式,从而轻松生成动态且具有视觉吸引力的报告和文档。
  • *高级文本*** *和*[图像处理](/python/examples/image-to-pdf/):** 开发人员可以轻松处理 PDF 文件中的文本和图像。 IronPDF 提供添加、编辑和格式化文本的功能,以及插入、调整大小和精确定位图像的功能。
  • *PDF 合并*** *和*[PDF 分割](/python/examples/split-pdf/): IronPDF 能够将多个 PDF 文件合并为一个文档,并将一个 PDF 拆分为多个单独的文件,为管理 PDF 内容提供了灵活性。
  • **PDF 表格支持*** 通过 IronPDF,开发人员可以处理 PDF 表单,允许他们填写表格字段、提取表单数据并创建交互式 PDF。
  • *PDF 安全*** *和*[*加密](/python/examples/encryption-and-decryption/): IronPDF 提供为 PDF 文档添加密码保护和加密的功能,确保数据的安全性和保密性。
  • *PDF 注释*** 开发人员可以添加注释,如注释、高亮显示和书签,以增强 PDF 中的协作和可读性。
  • *页眉和页脚***: IronPDF 允许在 PDF 页面上添加页眉和页脚,为文档提供品牌和上下文。
  • 条形码生成: IronPDF 便于使用 HTML 直接在 PDF 文档中生成各种类型的条形码和二维码。
  • 高性能: IronPDF 基于 IronPDF for .NET 库构建,在处理大型 PDF 文件和复杂操作时具有高性能和高效率。

    现在的文章如下:

  1. 创建一个 Python 项目

  2. PyPDF 安装

  3. IronPDF 安装

  4. 创建 PDF 文档

  5. 合并 PDF 文件

  6. 分割 PDF 文件

  7. 从 PDF 文件中提取文本

  8. 许可

  9. 结论

1.创建一个 Python 项目

使用集成开发环境(IDE)对于 Python 项目来说,《.NET.Java》和《Node.js》可以大大提高工作效率。 在热门选择中,我将使用 PyCharm,因为它具有智能代码自动补全、强大的调试功能以及与版本控制系统的无缝集成。 如果您尚未安装,可从 JetBrains 网站下载(https://www.jetbrains.com/pycharm/)您也可以使用任何适用于 Python 程序的 IDE/文本编辑器,如 VS Code。

在 PyCharm 中创建 Python 项目:

  1. 启动 PyCharm 并点击 PyCharm 欢迎页面上的 "创建新项目",或从菜单中进入 File > New Project

    IronPDF for Python 与 PyPDF 的比较:图 1 - PyCharm

  2. 选择 Python 解释器。 如果您尚未设置翻译器,请单击齿轮图标并配置一个新的翻译器。

  3. 选择项目地点和模板。

  4. 提供项目名称和设置,然后点击创建

    IronPDF For Python 与 PyPDF 的比较:图 2 - 新项目

  5. 开始编码、运行和调试您的 Python 项目。

2.PyPDF 安装

PyPDF 是纯 Python 库,可以通过多种方式安装。 我们可以使用 Command Prompt 和 PyCharm 进行安装。

2.1.使用命令提示符

  1. 打开计算机上的命令提示符或终端。

  2. 要安装 PyPDF,请使用以下 pip 命令:
    :ProductInstall
  1. 等待 PyPDF 安装完成。 您应该会看到一条成功消息,表明 PyPDF 已被安装。

    您可以使用相同的流程在 PyCharm 终端中安装 PyPDF。

    注意: Python 必须添加到系统 PATH 环境变量中。

2.2.使用 PyCharm

  1. 打开 PyCharm IDE。

  2. 创建一个新的 Python 项目或打开一个现有项目。

  3. 进入项目后,点击顶部菜单中的文件,然后选择设置

  4. 在设置窗口中,导航至 "项目:" 并点击 "Python 解释器"。

  5. 在 Python 解释器窗口中,点击 "+"图标添加新软件包。

    IronPDF for Python 与 PyPDF 的比较:图 3 - Python 解释器

  6. 在 "可用软件包"窗口中,搜索 "PyPDF"。

    IronPDF for Python 与 PyPDF 的比较:图 4 - PyPDF

  7. 从列表中选择 "PyPDF",然后点击 "安装包"按钮。

  8. 等待 PyCharm 下载并安装 PyPDF。

3.IronPDF 安装

前提条件

IronPDF Python 以强大的 .NET 6.0 技术为基础。 因此,要有效使用 IronPDF for Python,必须在系统中安装 .NET 6.0 运行时。 Linux 和 Mac 用户可能需要从微软官方网站下载并安装 .NET(https://dotnet.microsoft.com/en-us/download/dotnet/6.0)在开始使用此 Python 软件包之前,请务必仔细阅读译文。 在使用 IronPDF Python 执行 PDF 处理任务时,确保 .NET 6.0 运行时的存在将实现无缝集成和最佳性能。

3.1.使用命令提示符

  1. 打开计算机上的命令提示符或终端。

  2. 要安装 IronPDF,请使用以下 pip 命令:
    :PackageInstall
  1. 等待安装完成。 您应看到一条成功消息,表明 IronPDF 已安装。

3.2.使用 PyCharm

  1. 在计算机上打开 PyCharm IDE。

  2. 创建一个新的 Python 项目或打开一个现有项目。

  3. 进入项目后,点击顶部菜单中的 "文件",然后选择 "设置"。

  4. 在设置窗口中,导航至 "项目:" 并单击 "Python 解释器"。

  5. 在 Python 解释器窗口中,点击 "+"图标添加新软件包。

  6. 在 "可用软件包"窗口中,搜索 "IronPdf"。

    IronPDF For Python 与 PyPDF 的比较:图 5 - IronPDF

  7. 从列表中选择 "IronPdf",然后点击 "安装包"按钮。

  8. 等待 IronPDF 下载并安装。 将出现 IronPDF 已安装的成功消息。

    现在,两个库都已安装完毕,随时可以使用。 让我们来看看对比本身。

4.创建 PDF 文档

4.1.使用 PyPDF

PyPDF 提供了创建新 PDF 文件的基本功能。 但是,它没有将 HTML 内容直接转换为 PDF 的内置方法。 要使用 PyPDF 创建一个新的 PDF,我们需要在现有的 PDF 中添加内容或创建一个新的空白 PDF,然后在其中添加文本或图像。 以下代码有助于完成创建 PDF 文件的任务:

from pypdf import PdfWriter, PdfReader

# Create a new PDF file
pdf_output = PdfWriter()

# Add a new blank page
page = pdf_output.add_blank_page(width=610, height=842)  # Width and height are in points (1 inch = 72 points)

# Read content from an existing PDF
with open('input.pdf', 'rb') as existing_pdf:
    existing_pdf_reader = PdfReader(existing_pdf)
    # Merge content from the first page of the existing PDF
    page.merge_page(existing_pdf_reader.pages [0])

# Save the new PDF to a file
with open('output.pdf', 'wb') as output_file:
    pdf_output.write(output_file)
PYTHON

输入文件包含 28 页,只有第一页被添加到新的 PDF 文件中。输出结果如下:

IronPDF for Python 与 PyPDF 的比较:图 6 - PDF 输出

4.2.使用 IronPDF

IronPdf 提供高级功能,可直接从 HTML 内容创建新的 PDF 文件。 这样就可以方便地生成动态报告和文档,而无需额外的步骤。 以下是示例代码:

import ironpdf

ironpdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"

# Create a PDF from a HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This PDF is created using IronPDF for Python</p>")

# Export to a file or Stream
pdf.SaveAs("output.pdf")

# Advanced Example with HTML Assets
# Load external html assets Images, CSS and JavaScript.
# An optional BasePath 'C\site\assets\' is set as the file location to load assets from
myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
PYTHON

在上述代码中,我们首先应用了许可证密钥,以充分利用 IronPDF 的强大功能。 您也可以在没有许可证密钥的情况下使用,但在创建的 PDF 文件中会出现水印。 然后,我们创建了两个 PDF 文档,第一个文档使用 HTML 字符串作为内容,第二个文档使用资产。 输出结果如下

IronPDF for Python 与 PyPDF 的比较:图 7 - IronPDF 输出

5.合并 PDF 文件

5.1.使用 PyPDF

PyPDF 允许通过将一个 PDF 中的页面追加到另一个 PDF 中,从而将多个页面/文档合并为一个 PDF。 添加列表中所有 PDF 文件的输入路径,并使用 append 方法合并和生成单个文件。

from pypdf import PdfWriter

merger = PdfWriter()

for pdf in ["file1.pdf", "file2.pdf", "file3.pdf"]:
    merger.append(pdf)

merger.write("merged-pdf.pdf")
merger.close()
PYTHON

5.2.使用 IronPDF

IronPdf 还提供类似的功能,可将文档合二为一,轻松整合不同 PDF 来源的内容。

import ironpdf

ironpdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"

html_a = """<p> [PDF_A] </p>
            <p> [PDF_A] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_A] 2nd Page</p>"""

html_b = """<p> [PDF_B] </p>
            <p> [PDF_B] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_B] 2nd Page</p>"""

renderer = ironpdf.ChromePdfRenderer()

pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)
merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b)

merged.SaveAs("Merged.pdf")
PYTHON

6.分割 PDF 文件

6.1.使用 PyPDF

PyPDF 是一个 Python 库,能够将单个 PDF 分割成多个独立的 PDF,每个 PDF 包含一个或多个 PDF 页面。

from pypdf import PdfReader, PdfWriter

# Open the PDF file
pdf_file = open('input.pdf', 'rb')

# Create a PdfFileReader object
pdf_reader = PdfReader(pdf_file)

# Split each page into separate PDFs
for page_num in range(len(pdf_reader.pages)):
    pdf_writer = PdfWriter()
    pdf_writer.add_page(pdf_reader.pages [page_num])
    output_filename = f'page_{page_num + 1}_pypdf.pdf'
    with open(output_filename, 'wb') as output_file:
        pdf_writer.write(output_file)

# Close the PDF file
pdf_file.close()
PYTHON

上述代码将 28 页 PDF 文档分割为单页,并保存为 28 个新的 PDF 文件。

6.2.使用 IronPDF

IronPDF 还提供类似的拆分 PDF 的功能,允许用户将单个 PDF 分成多个 PDF 文件,每个文件都有单个 PDF 页面。 它允许我们从包含多个页面的 PDF 中分割出特定页面。 以下代码有助于将文档分割为多个文件:

import ironpdf

ironpdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"

html = """<p> Hello Iron </p>
            <p> This is 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> This is 2nd Page</p>
            <div style='page-break-after: always;'></div>
            <p> This is 3rd Page</p>"""

renderer = ironpdf.ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(html)

# take the first page
page1doc = pdf.CopyPage(0)
page1doc.SaveAs("Split1.pdf")

# take the pages 2 & 3
page23doc = pdf.CopyPages(1, 2)
page23doc.SaveAs("Split2.pdf")
PYTHON

有关 IronPDF 阅读 PDF 文件、旋转 PDF 页面、裁剪页面、设置所有者/用户密码和其他安全选项的更多详细信息,请访问此页IronPDF Python 代码示例页面.

7.从 PDF 文件中提取文本

7.1.使用 PyPDF

PyPDF 提供了一种从 PDF 中提取文本的直接方法。 它提供了 PdfReader 类,允许用户阅读 PDF 中的文本内容。

from pypdf import PdfReader

reader = PdfReader("input.pdf")
page = reader.pages [0]
print(page.extract_text())
PYTHON

7.2.使用 IronPDF

IronPDF 还支持使用 PdfDocument 类从 PDF 中提取文本。 它提供了一个名为ExtractAllText的方法,用于从 PDF 中获取文本内容。 然而,IronPDF 的免费版本只能从 PDF 文档中提取少量字符。 要从 PDF 中提取全文,需要获得 IronPDF 的许可。 以下是从 PDF 文件中提取内容的代码示例:

import ironpdf

ironpdf.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"

# Load existing PDF document
pdf = ironpdf.PdfDocument.FromFile("input.pdf")
# Extract text from PDF document
all_text = pdf.ExtractAllText()
print(all_text)
PYTHON

要了解有关提取文本的更多信息,请访问此处将 PDF 文本转换为 Python例如

8.许可

PyPDF

PyPDF 根据 MIT 许可发布,MIT 许可是一种开源软件许可,以其许可条款而著称。 MIT 许可允许用户自由使用、修改、分发和再许可 PyPDF 库,而不受任何限制。 用户无需公开其使用 PyPDF 的应用程序的源代码,因此既适用于个人项目,也适用于商业项目。

MIT 许可证的完整文本通常包含在 PyPDF 的源代码中,用户可以在库发行版中的 "LICENSE "文件中找到它。 此外,PyPDF GitHub 代码库(https://github.com/py-pdf/pypdf)是获取最新版本图书馆及其相关许可信息的主要来源。

IronPDF

IronPdf 是商业库,不开源。 它由 Iron Software LLC 开发和发行。 使用 IronPDF 需要获得 Iron Software 的有效许可。 有不同类型的许可证可供选择,包括用于评估目的的试用版和用于商业用途的付费许可证。

由于 IronPdf 是商业产品,与开源替代产品相比,它提供了更多的功能和技术支持。 要获得 IronPDF 的许可证,用户可以访问 Iron Software 官方网站(https://ironpdf.com/python/licensing/)在翻译过程中,您还需要了解可用的许可选项、定价和支持详情。 其 Lite 软件包起价为 $749,是永久许可证。

IronPDF For Python 与 PyPDF 的比较:图 8 - IronPDF 许可证

9.结论

摘要

PyPDF 是一个功能强大、用户友好的 Python 库,用于处理 PDF 文件。 它具有读、写、合并和拆分 PDF 的功能,是执行 PDF 操作任务的必备工具。 无论您是需要从 PDF 中提取文本、从头开始创建新的 PDF,还是合并和拆分现有文档,PyPDF 都能为您提供可靠、高效的解决方案。 通过利用 PyPDF 的功能,Python 开发人员可以简化与 PDF 相关的工作流程,提高工作效率。

IronPDF是一个适用于Python的全面高效的PDF操作库,为PDF文件的读取、创建、合并和拆分提供了广泛的功能。 无论您是需要生成动态 PDF 报告、从现有 PDF 中提取文档信息,还是需要合并多个文档,IronPDF 都能为您提供可靠易用的解决方案。 通过利用 IronPDF for Python 的功能,Python 开发人员可以简化与 PDF 相关的工作流程,提高工作效率。

从整体上比较,PyPDF 是一个轻量级且易于使用的库,适用于基本的 PDF 操作。 对于有简单 PDF 要求的项目来说,这是一个不错的选择。 另一方面,IronPDF 提供了更广泛的 API 和强大的性能,非常适合需要高级 PDF 处理功能、处理大型 PDF 文件和执行复杂任务的项目。

结论

这两个库都为常见的 PDF 任务提供了良好的编码设施。 PyPDF 适用于简单操作和快速实现,而 IronPDF 则提供了更广泛和通用的 API,用于处理复杂的 PDF 相关任务。

在性能方面,IronPDF 可能会优于 PyPDF,尤其是在处理大量 PDF 文件或需要复杂 PDF 操作的任务时。

在这两个库之间做出选择取决于项目的具体需求以及所涉及的 PDF 相关任务的复杂程度。

IronPDF 还可用于以下用途免费试用在商业模式下测试其完整功能。 从以下地址下载 IronPDF for Python这里.

< 前一页
Python HTML 转 PDF 无需 Wkhtmltopdf(替代方案教程)

准备开始了吗? 版本: 2024.11.1 刚刚发布

免费 pip 安装 查看许可证 >