python3 环境,使用 PyPDF2 3.x,读取pdf文件的标题和作者名称,请给出python代码。
时间: 2024-02-18 12:00:26 浏览: 20
好的,以下是使用 PyPDF2 读取 pdf 文件标题和作者名称的 Python 代码:
```python
import PyPDF2
# 打开 PDF 文件
with open('example.pdf', 'rb') as pdf:
# 创建 PyPDF2 的 PdfFileReader 对象
pdf_reader = PyPDF2.PdfFileReader(pdf)
# 获取 PDF 文件标题
title = pdf_reader.getDocumentInfo().title
print('PDF 标题:', title)
# 获取 PDF 文件作者
author = pdf_reader.getDocumentInfo().author
print('PDF 作者:', author)
```
其中,`example.pdf` 是要读取的 PDF 文件名,可以替换为你实际使用的文件名。使用 `PyPDF2.PdfFileReader` 对象的 `getDocumentInfo()` 方法可以获取 PDF 文件的元数据信息,包括标题和作者等。
相关问题
PdfFileReader 在PyPDF2 3.x 中已经废弃,请重新给出python3代码。
好的,以下是更新后的代码,使用 PyPDF2 4.x 版本:
```python
import os
import glob
from PyPDF2 import PdfFileReader, PdfFileWriter
# 设置目录路径
directory_path = "/path/to/directory"
# 获取所有pdf文件路径
pdf_files = glob.glob(os.path.join(directory_path, "*.pdf"))
# 遍历pdf文件
for pdf_file in pdf_files:
# 打开PDF文件并读取元数据
with open(pdf_file, "rb") as f:
pdf_reader = PdfFileReader(f, strict=False)
title = pdf_reader.documentInfo.title
# 更改文件名为PDF标题
new_file_name = f"{title}.pdf"
new_file_path = os.path.join(directory_path, new_file_name)
os.rename(pdf_file, new_file_path)
```
你可以将 `directory_path` 更改为你的目录路径,然后运行代码即可。注意确保已经安装了 PyPDF2 4.x 版本。需要注意的是,`PdfFileReader` 的 `strict` 参数已经被添加,默认为 `True`,所以需要将其设置为 `False`,以便读取可能存在问题的 PDF 文件。
有一个目录中n多个pdf文件,现在需要使用 PyPDF2 3.x 版本,对这些pdf文件,用metadata提取标题并进行批量更改名称,请给出python3代码。
好的,以下是代码:
```python
import os
import glob
from PyPDF2 import PdfFileReader, PdfFileWriter
# 设置目录路径
directory_path = "/path/to/directory"
# 获取所有pdf文件路径
pdf_files = glob.glob(os.path.join(directory_path, "*.pdf"))
# 遍历pdf文件
for pdf_file in pdf_files:
# 打开PDF文件并读取元数据
with open(pdf_file, "rb") as f:
pdf_reader = PdfFileReader(f)
title = pdf_reader.getDocumentInfo().title
# 更改文件名为PDF标题
new_file_name = f"{title}.pdf"
new_file_path = os.path.join(directory_path, new_file_name)
os.rename(pdf_file, new_file_path)
```
你可以将 `directory_path` 更改为你的目录路径,然后运行代码即可。注意确保已经安装了 PyPDF2 3.x 版本。