gpt4 book ai didi

python - 如何在 python 中抑制 PDFMiner 的布局分析

转载 作者:行者123 更新时间:2023-12-05 07:33:08 33 4
gpt4 key购买 nike

PDFMiner.six 卡在某些存在分辨率图像和文本的文件上,所以我想如果我可以抑制布局分析,它可能会跳过这些页面并继续前进。

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO

abspath_pdf = r'C:\\Users\\shricharan.arumugam\\Desktop\\Baraka East_1 Ichron REPORT Final.pdf'



def convert_pdf_to_txt2(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
fp = open(path, 'rb')
interpreter = PDFPageInterpreter(rsrcmgr, device)
password = ""
maxpages = 0
caching = True
pagenos=set()
i=1
#test_pages=PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True)
for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):

interpreter.process_page(page)
print(i)
i=i+1

text = retstr.getvalue()

fp.close()
device.close()
retstr.close()
return text

convert_pdf_to_txt2(abspath_pdf)

文档说使用 -n 来抑制布局分析,但有人可以告诉我如何使用它吗?

最佳答案

H Shricharan - 尝试在调用 laparams = LAParams() 后立即设置 laparams = None。 (我把对 LAParams() 的调用留在那里,以防它调用我需要的一些初始化代码,但随后在下一行中用 None 覆盖了 laparams )。 pdf2txt.py 中的代码似乎就是这样做的。我遇到了和你一样的问题,到目前为止(祈祷)似乎已经解决了。 (即 - 它似乎快得多并且不会卡在某些文件上,但缺点是它现在似乎只是将转换后的文本作为一个长字符串返回,没有段落,换行符等。所以不确定是否是否适合你)-Mark

关于python - 如何在 python 中抑制 PDFMiner 的布局分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50817078/

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