# -*- coding: utf-8 -*- import PyPDF2 import sys import io # 创建一个文本输出流,包装标准输出 sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') # 打印包含特殊字符的字符串 s = 'PDF文件头信息:\xae' print(s) # 打开PDF文件 pdf_file = open('x1/hunan28.pdf', 'rb') # 创建一个PDF读取器对象 pdf_reader = PyPDF2.PdfFileReader(pdf_file) # 打印PDF文件头信息 pdf_info = pdf_reader.getDocumentInfo() print('PDF文件头信息:') for key, value in pdf_info.items(): try: print(f'{key}: {value}') except UnicodeEncodeError: print(f'{key}: {" ".join(value.split())}') # 打印PDF文件体信息 for page_num in range(pdf_reader.getNumPages()): page = pdf_reader.getPage(page_num) print(f'第{page_num+1}页的内容:\n{page.extractText()}') # 打印PDF交叉引用表信息 print('PDF交叉引用表信息:\n', pdf_reader.xref) # 打印PDF文件尾信息 print('PDF文件尾信息:', pdf_reader.trailer) # 关闭PDF文件 pdf_file.close()上述代码添加将输出信息保存到TXT文件
时间: 2024-02-06 11:02:31 浏览: 142
你可以将上述代码中的print语句改为写入到一个txt文件中,可以按照以下步骤进行修改:
1. 在代码开头添加以下代码,创建一个txt文件并打开文件对象`txt_file`:
```python
with open('output.txt', 'w', encoding='utf-8') as txt_file:
```
2. 将所有的print语句改为写入文件的操作,例如:
```python
txt_file.write(f'{key}: {value}\n')
```
3. 在代码结尾添加以下代码,关闭文件对象`txt_file`:
```python
txt_file.close()
```
完成修改后的代码如下:
```python
# -*- coding: utf-8 -*-
import PyPDF2
import sys
import io
# 创建一个文本输出流,包装标准输出
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
# 创建一个txt文件并打开文件对象
with open('output.txt', 'w', encoding='utf-8') as txt_file:
# 打印包含特殊字符的字符串
s = 'PDF文件头信息:\xae'
txt_file.write(s + '\n')
# 打开PDF文件
pdf_file = open('x1/hunan28.pdf', 'rb')
# 创建一个PDF读取器对象
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
# 打印PDF文件头信息
pdf_info = pdf_reader.getDocumentInfo()
txt_file.write('PDF文件头信息:\n')
for key, value in pdf_info.items():
try:
txt_file.write(f'{key}: {value}\n')
except UnicodeEncodeError:
txt_file.write(f'{key}: {" ".join(value.split())}\n')
# 打印PDF文件体信息
for page_num in range(pdf_reader.getNumPages()):
page = pdf_reader.getPage(page_num)
txt_file.write(f'第{page_num+1}页的内容:\n{page.extractText()}\n')
# 打印PDF交叉引用表信息
txt_file.write('PDF交叉引用表信息:\n' + str(pdf_reader.xref) + '\n')
# 打印PDF文件尾信息
txt_file.write('PDF文件尾信息:' + str(pdf_reader.trailer) + '\n')
# 关闭PDF文件和txt文件
pdf_file.close()
txt_file.close()
```
执行该代码后,输出信息将保存到`output.txt`文件中。
阅读全文