简介
PyPDF3
是一个用于处理 PDF 文件的 Python 库,它提供了读取、写入和操作 PDF 文件的功能。
主要功能
-
读取 PDF 文件:
-
读取 PDF 文件的内容和元数据。
-
提取文本、图像和其他内容。
-
-
写入 PDF 文件:
-
创建新的 PDF 文件。
-
合并多个 PDF 文件。
-
添加文本、图像和其他内容到 PDF 文件。
-
-
操作 PDF 文件:
-
拆分 PDF 文件。
-
旋转、裁剪和缩放页面。
-
加密和解密 PDF 文件。
-
安装
pip install PyPDF3
使用案例
1.读取PDF文件的元数据
import PyPDF3
def extract_pdf_metadata(pdf_path):
# 打开 PDF 文件
with open(pdf_path, 'rb') as file:
# 创建一个 PDF 阅读器对象
reader = PyPDF3.PdfFileReader(file)
# 获取 PDF 文件的元数据
metadata = reader.getDocumentInfo()
# 提取并打印元数据
pdf_info = {
'Title': metadata.get('/Title', 'N/A'),
'Author': metadata.get('/Author', 'N/A'),
'Creator': metadata.get('/Creator', 'N/A'),
'Producer': metadata.get('/Producer', 'N/A'),
'CreationDate': metadata.get('/CreationDate', 'N/A'),
'ModDate': metadata.get('/ModDate', 'N/A'),
'Subject': metadata.get('/Subject', 'N/A'),
'Keywords': metadata.get('/Keywords', 'N/A')
}
return pdf_info
# 使用示例
pdf_path = 'FF.pdf' # 替换为你的 PDF 文件路径
pdf_metadata = extract_pdf_metadata(pdf_path)
for key, value in pdf_metadata.items():
print(f"{key}: {value}")
2.提取PDF文件文本内容
import PyPDF3
def extract_text_from_pdf(pdf_path):
with open(pdf_path, 'rb') as file:
reader = PyPDF3.PdfFileReader(file)
text = ''
for page_num in range(reader.numPages):
page = reader.getPage(page_num)
text += page.extract_text()
return text
pdf_path = 'FF.pdf'
pdf_text = extract_text_from_pdf(pdf_path)
print(pdf_text)
3.合并多个PDF文件
import PyPDF3
def merge_pdfs(pdf_paths, output_path):
merger = PyPDF3.PdfFileMerger()
for pdf_path in pdf_paths:
with open(pdf_path, 'rb') as file:
merger.append(file)
with open(output_path, 'wb') as output_file:
merger.write(output_file)
pdf_paths = ['FF.pdf', 'NCL.pdf', 'HZC.pdf']
output_path = 'merged.pdf'
merge_pdfs(pdf_paths, output_path)
常见字段
常见元数据字段
以下是一些常见的 PDF 元数据字段及其含义:
/Title
: 文档标题。
/Author
: 文档作者。
/Creator
: 创建文档的应用程序。
/Producer
: 生成 PDF 文件的应用程序。
/CreationDate
: 文档创建日期。
/ModDate
: 文档修改日期。
/Subject
: 文档主题。
/Keywords
: 文档关键词。
注意事项
-
元数据字段可能为空:某些 PDF 文件可能没有包含所有元数据字段,因此在使用
metadata.get()
方法时,需要提供默认值(如'N/A'
)。。