引言

PyPDF2是一个用于处理PDF文件的Python库,在使用过程当中,发现网上介绍该库的方法已经不能使用。 因为我使用的是 3.0.1版本,所以了解了一下这个版本的方法。

PyPDF2 3.0.1版本中常用方法

以下是PyPDF2 3.0.1版本中常用的方法及其示例说明:

  1. PdfFileReader(pdf_file_path): 用于读取PDF文件并返回一个PdfFileReader对象,可以通过该对象访问PDF文件的页面、书签、字体等信息。
from PyPDF2 import PdfFileReader

pdf_file_path = 'example.pdf'
pdf_reader = PdfFileReader(pdf_file_path)
print(pdf_reader.getNumPages())  # 输出PDF文件的总页数
  1. PdfFileWriter(): 用于创建和编辑PDF文件,可以通过该对象添加页面、书签、字体等内容。
from PyPDF2 import PdfFileWriter

pdf_writer = PdfFileWriter()
pdf_writer.addBlankPage(200, 200)  # 添加一个200x200像素的空白页
with open('output.pdf', 'wb') as output_file:
    pdf_writer.write(output_file)  # 将PDF文件写入到磁盘
  1. PdfFileMerger(): 用于合并多个PDF文件,可以通过该对象添加要合并的文件,并调用merge()方法将所有文件合并为一个PDF文件。
from PyPDF2 import PdfFileMerger

pdf_merger = PdfFileMerger()
pdf_merger.add('file1.pdf')
pdf_merger.add('file2.pdf')
pdf_merger.merge(1)  # 将所有文件合并为一个PDF文件,第二个参数指定合并的页码范围
with open('merged.pdf', 'wb') as output_file:
    pdf_merger.write(output_file)  # 将合并后的PDF文件写入到磁盘
  1. getPage(page_num): 返回指定页码的PageObject对象,可以通过该对象访问页面的内容、尺寸等信息,并进行页面操作,例如旋转、缩放等。
from PyPDF2 import PdfFileReader

pdf_file_path = 'example.pdf'
pdf_reader = PdfFileReader(pdf_file_path)
page = pdf_reader.getPage(0)  # 获取第一页的PageObject对象
print(page.extractText())  # 输出第一页的文本内容
  1. PageObject类的各种方法:PageObject是所有PDF页面对象的基类,它具有许多方法可以用于操作页面内容,例如get_mediabox获取页面的尺寸,get_size获取页面的尺寸范围,scalerotateshift_origin等方法可以改变页面的大小、旋转角度和原点位置等。
from PyPDF2 import PdfFileReader, PageObject

pdf_file_path = 'example.pdf'
pdf_reader = PdfFileReader(pdf_file_path)
page = pdf_reader.getPage(0)  # 获取第一页的PageObject对象
page.scale(0.5, 0.5)  # 将页面缩小为原来的50%