执行代码报错:AttributeError: 'PdfReader' object has no attribute 'Info'
时间: 2023-06-21 18:24:48 浏览: 187
非常抱歉,我之前的代码有误。在 PyPDF2 3.x 版本中,获取 PDF 文件元数据的方式有所改变。以下是使用 PyPDF2 3.x 读取 pdf 文件标题和作者名称的 Python 代码:
```python
import PyPDF2
# 打开 PDF 文件
with open('example.pdf', 'rb') as pdf:
# 创建 PyPDF2 的 PdfReader 对象
pdf_reader = PyPDF2.PdfReader(pdf)
# 获取 PDF 文件标题
title = pdf_reader.Info.Title
print('PDF 标题:', title)
# 获取 PDF 文件作者
author = pdf_reader.Info.Author
print('PDF 作者:', author)
```
同样,`example.pdf` 是要读取的 PDF 文件名,可以替换为你实际使用的文件名。使用 `PyPDF2.PdfReader` 对象的 `Info` 属性可以获取 PDF 文件的元数据信息,包括标题和作者等。
相关问题
运行了上面代码 报错信息AttributeError: 'PageObject' object has no attribute 'setFont'
非常抱歉给出的修正后的示例代码仍然有错误。在PyPDF2库中,并没有直接的方法来设置字体和字体大小。在修改PDF中的文字样式时,通常需要使用其他PDF处理库,如ReportLab或PyFPDF。以下是使用ReportLab库修改PDF中文字样式的示例代码:
```python
from reportlab.pdfgen import canvas
from PyPDF2 import PdfReader
# 打开PDF文件
pdf_reader = PdfReader('example.pdf')
# 获取第一页
page = pdf_reader.pages[0]
# 创建一个新的PDF页面对象,用于添加文字
c = canvas.Canvas('output.pdf')
# 在表格固定位置添加文字
x = 100 # 横坐标
y = 200 # 纵坐标
text = 'Hello, World!' # 要添加的文字内容
# 设置字体和字体大小
c.setFont("Helvetica", 12)
# 添加文字
c.drawString(x, y, text)
# 保存修改后的PDF文件
c.save()
# 关闭文件
pdf_reader.close()
```
在这个示例代码中,我们使用了ReportLab库的`canvas`模块来创建一个新的PDF页面对象。然后,使用`.setFont()`方法设置字体和字体大小。最后,使用`.drawString()`方法在指定的坐标位置添加文字。最后,通过`.save()`方法将修改后的PDF文件保存为`output.pdf`。
请注意,这个示例代码假设您已经安装了ReportLab库。如果还没有安装,可以使用以下命令进行安装:
```
pip install reportlab
```
希望这次给出的示例代码能够帮助您成功修改PDF中的文字样式。如果您有任何其他问题,请随时提问。
根据这个报错AttributeError: 'PdfReader' object has no attribute 'Pages',修改这句代码,page = pdf_reader.Pages(0)
根据报错信息,PdfReader对象没有Pages属性,应该将该属性修改为pages(小写字母p),因此代码应该修改为:
```python
page = pdf_reader.pages[0]
```
这样就可以获取PDF文档的第一页了。需要注意的是,pages属性返回的是一个列表,需要根据需要选择其中的元素。
阅读全文