gpt4 book ai didi

python - 在 pdfminer.six python 中保留提取文本的布局

转载 作者:太空宇宙 更新时间:2023-11-04 04:45:31 26 4
gpt4 key购买 nike

我想提取此 pdf 的文本:https://github.com/pdfminer/pdfminer.six/files/1887670/Wochenkarte-KW-15-Neu.pdf

当我使用这段代码提取文本时:

def convert_pdf_to_txt(path):
resource_manager = PDFResourceManager()
device = None
try:
with StringIO() as string_writer, open(path, 'rb') as pdf_file:
device = TextConverter(resource_manager, string_writer, codec='utf-8', laparams=LAParams())
interpreter = PDFPageInterpreter(resource_manager, device)

for page in PDFPage.get_pages(pdf_file, maxpages=1):
interpreter.process_page(page)

pdf_text = string_writer.getvalue()
finally:
if device:
device.close()
return pdf_text

文本不符合 pdf 的文本布局。当前结果:

Montag 09.04.2018 
Menü 1

Kl. Salat


Menü 2

Kl. Salat

Seelachs-Spinat-Türmchen mit Spinat-
Masalla-Sauce und Reis
Currywurst mit Pommes

预期结果:

Montag 09.04.2018 
Menü 1

Kl. Salat Seelachs-Spinat-Türmchen mit Spinat-Masalla-Sauce und Reis

Menü 2

Kl. Salat Currywurst mit Pommes

我做错了什么或者我错过了什么?

最佳答案

关键是在 LAParams 中给出另一个 linemargin:

LAParams(line_margin=0.1)

我的行现在看起来像这样:

device = TextConverter(resource_manager, string_writer, codec='utf-8', laparams=LAParams(line_margin=0.1))

归功于 Tim

关于python - 在 pdfminer.six python 中保留提取文本的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49722754/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com