from pdfminer.pdfparser import PDFParser from pdfminer.pdfdocument import PDFDocument from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.pdfdevice import PDFDevice from pdfminer.converter import PDFPageAggregator from pdfminer.layout import LAParams, LTTextBoxHorizontal from pdfminer.pdfpage import PDFPage # 打开 PDF 文件 fp = open('x1/2023凯程333教育综合应试解析-外国教育史.pdf', 'rb') # 创建 PDF 解析器 parser = PDFParser(fp) # 创建 PDF 文档对象 document = PDFDocument(parser) # 获取页面布局参数 laparams = LAParams() # 创建 PDF 资源管理器 rsrcmgr = PDFResourceManager() # 创建聚合器对象 device = PDFPageAggregator(rsrcmgr, laparams=laparams) # 创建 PDF 解释器 interpreter = PDFPageInterpreter(rsrcmgr, device) # 处理每一页 PDF 页面 for page in PDFPage.create_pages(document): interpreter.process_page(page) # 获取页面布局 layout = device.get_result() # 提取每一页的文本内容 for x in layout: if isinstance(x, LTTextBoxHorizontal): print(x.get_text().strip()) # 关闭 PDF 文件 fp.close()上述代码保存输出结果为TXT
时间: 2024-01-01 11:06:22 浏览: 122
pdfminer3k-1.2.4.tar.rar
如果你想将提取的文本内容保存成TXT文件,可以在代码中添加一些操作来实现。例如,在每一页处理完后,将提取的文本内容写入一个TXT文件中。修改后的代码如下所示:
```
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.pdfdevice import PDFDevice
from pdfminer.converter import PDFPageAggregator, TextConverter
from pdfminer.layout import LAParams, LTTextBoxHorizontal
from pdfminer.pdfpage import PDFPage
# 打开 PDF 文件
fp = open('x1/2023凯程333教育综合应试解析-外国教育史.pdf', 'rb')
# 创建 PDF 解析器
parser = PDFParser(fp)
# 创建 PDF 文档对象
document = PDFDocument(parser)
# 获取页面布局参数
laparams = LAParams()
# 创建 PDF 资源管理器
rsrcmgr = PDFResourceManager()
# 创建聚合器对象
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
# 创建 PDF 解释器
interpreter = PDFPageInterpreter(rsrcmgr, device)
# 创建一个TXT文件来保存提取的文本内容
output_file = open('output.txt', 'w', encoding='utf-8')
# 处理每一页 PDF 页面
for page in PDFPage.create_pages(document):
interpreter.process_page(page)
# 获取页面布局
layout = device.get_result()
# 提取每一页的文本内容
for x in layout:
if isinstance(x, LTTextBoxHorizontal):
text = x.get_text().strip()
print(text)
output_file.write(text + '\n')
# 关闭TXT文件和 PDF 文件
output_file.close()
fp.close()
```
这个修改后的代码可以将提取的文本内容保存到名为"output.txt"的TXT文件中。
阅读全文