1. 产品
  2.   PDF格式
  3.   Python
  4.   Pikepdf
 
  

用于处理 PDF 文件的开源 Python 库

免费的 Python API 允许线性化 PDF 和访问加密的 PDF。它支持从头开始创建 PDF、将页面从一个 PDF 复制到另一个、拆分或合并 PDF 等等。

PikePDF 是一个非常简单的 Python PDF 库,允许软件开发人员在 Python 应用程序中处理 PDF 文件。它基于 QPDF,一个强大的 PDF 操作和修复库。 PikePDF 是一个 PDF 内容转换库,提供对 PDF 文件的低级访问。这意味着用户需要了解 PDF 内部结构并熟悉 PDF 规范。该库是开源的,可在 MIT 许可下供公众使用。该库是开源的,可在 MPL-2.0 许可下使用。

PikePDF 支持线性化 PDF 和访问加密的 PDF。它包含一组非常强大的与 PDF 管理相关的功能,例如从头开始创建 PDF、将页面从一个 PDF 复制到另一个、拆分或合并 PDF、从 PDF 中提取图像或文本、替换 PDF 中的内容、PDF 修复支持、页面设置支持、管理 PDF 元数据、使用密码保护、PDF XMP 元数据编辑、现有 PDF 的转换等等。

.

Previous Next

PikePDF 入门

PikePDF 需要 Python 3.6 及更高版本。您可以使用 pip 安装 PikePDF。请使用以下命令进行安装。

通过 pip 安装 PikePDF

 pip install pikepdf

通过 Python 将页面从一个 PDF 复制到另一个

开源 PikePDF 库提供的功能使软件开发人员只需几行 Python 代码即可将页面从一个 PDF 共付到另一个 PDF。在 PDF 对象之间复制页面将在目标 PDF 文件中创建源页面的浅表副本,因此修改页面不会影响原始 PDF 文档。也可以用自定义内容替换特定页面。也可以复制特定 PDF 中的页面。

通过 Python 打开和操作 PDF 文档

 # PDF Documents Manipulation 
  from pikepdf import Pdf
  new_pdf = Pdf.new()
  with Pdf.open('sample.pdf') as pdf:
    pdf.save('output.pdf') 
   # Copying pages from other PDFs
  pdf = Pdf.open('../tests/resources/fourpages.pdf')
  appendix = Pdf.open('../tests/resources/sandwich.pdf')
  pdf.pages.extend(appendix.pages)

通过 Python 进行 PDF 拆分和合并

PDF PikePDF 库使软件开发人员能够访问现有的 PDF 文件并将其轻松拆分为多个 PDF 文件。在拆分 PDF 时,我们只需要新的 PDF 必须包含目标页面。该库还确保传输与每个页面关联的数据,以便每个页面独立存在。该库还支持将多个 PDF 文档合并或连接成一个文档。也可以只用几行代码来反转 PDF 页面的顺序。

通过 Python 拆分和合并 PDF 文档

 # PDF Splitting
  pdf = Pdf.open('../tests/resources/fourpages.pdf')
  for n, page in enumerate(pdf.pages):
  dst = Pdf.new()
  dst.pages.append(page)
  dst.save(f'{n:02d}.pdf')
  # Combine Multiple PDF pages into a single One
  from glob import glob
  pdf = Pdf.new()
  for file in glob('*.pdf'):
  src = Pdf.open(file)
  pdf.pages.extend(src.pages)
  pdf.save('merged.pdf')

通过 Python 管理 PDF 文档中的图像

PDF PikePDF 库使软件开发人员可以使用 Python 命令轻松处理 PDF 文件中的图像。该库包含几个与图像处理相关的重要功能,例如在 PDF 页面中复制图像、打开和查看 PDF、调整图像大小、在 PDF 中处理图像、从 PDF 中提取图像、替换图像、从 PDF 中删除图像等等.

通过 Python 提取图像并将其替换为 PDF

 # Extract Image & Replace PDF Images
  import zlib
  rawimage = pdfimage.obj
  pillowimage = pdfimage.as_pil_image()
  greyscale = pillowimage.convert('L')
  greyscale = greyscale.resize((32, 32))
  rawimage.write(zlib.compress(greyscale.tobytes()), filter=Name("/FlateDecode"))
  rawimage.ColorSpace = Name("/DeviceGray")
  rawimage.Width, rawimage.Height = 32, 32

通过 Python 处理 PDF 元数据

PDF 元数据包括有关 PDF 文档的非常有用的信息,例如作者姓名、创建和修改日期、关键字、版权信息等。 PDF PikePDF 库包含访问和读取元数据、提取元数据、从 PDF 文档中删除元数据条目的完整功能。以下代码示例展示了如何从 PDF 文档中提取元数据。

如何通过 Python 提取 PDF 元数据

 # Extract PDF Metadata
  import pikepdf
  import sys
  # get the target pdf file from the command-line arguments
  pdf_filename = sys.argv[1]
  # read the pdf file
  pdf = pikepdf.Pdf.open(pdf_filename)
  docinfo = pdf.docinfo
  for key, value in docinfo.items():
    print(key, ":", value)
 中国人