-- coding: utf-8 -- import PyPDF2 import sys import io # 创建一个文本输出流,包装标准输出 sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') # 创建一个txt文件并打开文件对象 with open('output1.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) page_content = page.extractText().encode('utf-8') txt_file.write(f'第{page_num+1}页的内容:\n{page_content}\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()上述代码添加将字符串分门别类提取出各个对象信息,保存起来
时间: 2024-02-09 21:09:27 浏览: 113
#_--_coding_UTF-8_--_import_sys,os,dlib,glob,nu_PythonFace.zip
你的代码已经可以将 PDF 文件的信息提取出来并保存到一个 txt 文件中了。如果你想要将不同类型的信息分门别类,可以在保存信息的时候添加标识符或者分隔符,这样就可以方便地对不同类型的信息进行提取和处理。比如:
```python
# 打印PDF文件头信息
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文件体信息
txt_file.write('=== PDF文件体信息 ===\n')
for page_num in range(pdf_reader.getNumPages()):
page = pdf_reader.getPage(page_num)
page_content = page.extractText().encode('utf-8')
txt_file.write(f'第{page_num+1}页的内容:\n{page_content}\n')
# 打印PDF交叉引用表信息
txt_file.write('=== PDF交叉引用表信息 ===\n')
txt_file.write(str(pdf_reader.xref) + '\n')
# 打印PDF文件尾信息
txt_file.write('=== PDF文件尾信息 ===\n')
txt_file.write(str(pdf_reader.trailer) + '\n')
```
上述代码在保存不同类型的信息时,添加了标识符,方便后续处理。
阅读全文