如何使用 Python 裁剪 PDF

641 阅读2分钟

在当今世界,PDF 文件已成为共享和存储信息的重要组成部分。然而,有时我们需要裁剪 PDF 文件的某些部分以提取相关信息。手动裁剪 PDF 文件可能是一项繁琐且耗时的任务。幸运的是,Pdfplumber 是一个 Python 库,其他库提供了一种高效便捷的裁剪 PDF 的方法。

在本文中,我们将探讨如何使用 Pdfplumber 裁剪 PDF 文件。我们将逐步探索如何进行裁剪以从 PDF 中分割您想要的区域或部分。

使用 pip 安装 Pdfplumber:

pip 安装 pdfplumber

从文件路径或文件中读取您的 PDF 文件:

import pdfplumber 

PDF_FILE = "your_pdf_file" 

# 从文件路径
pdf = pdfplumber. open (PDF_FILE) 

# 或者您可以打开文件并将二进制文件传递给 pdfplumber 
with  open (PDF_FILE) as pdf_file: 
  pdf = pdfplumber. 打开(pdf_文件)

开始裁剪您的 PDF:

要裁剪 PDF,您需要一个四元组(x0、顶部、x1、底部)的边界框:

  • x0: 裁剪矩形左侧与页面左侧的距离。
  • top: 裁剪矩形顶部与页面顶部的距离。
  • x1: 裁剪矩形右侧与页面左侧的距离。
  • bottom: 裁剪矩形底部与页面顶部的距离。
# 选择要裁剪的页面
pdf_page = pdf.pages[page_idx] 

# 指定要裁剪的边界框 bounding_box
 = (x0, top, x1, bottom) 

# 通过在所选页面上应用裁剪功能进行裁剪
cropped_pdf = pdf_page.crop(bounding_box , relative= False , strict= True ) 

# 从裁剪后的
打印中提取文本(cropped_pdf.extract_text())

请注意,裁剪后的页面会保留至少部分落在边界框内的对象。如果对象仅部分落在框内,则会对其尺寸进行切片以适合边界框。

如果relative=True,边界框计算为距页面边界框左上角的偏移量,而不是绝对定位。

strict=True(默认)时,裁剪的边界框必须完全落在页面的边界框内。

您可以使用另一个类似于 的.within_bbox 函数,但只保留 完全落在边界框内.crop的对象。**

另一个.outside_bbox类似于.cropand的函数,但只保留完全落在边界框之外.within_bbox的对象。