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

2024-04-25 04:52:03 发布

您现在位置:Python中文网/ 问答频道 /正文

在六号乘客在某些具有分辨率图像和文本的文件上卡住了,所以我想如果我可以抑制布局分析,它可能会跳过这些页面并继续前进。在

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来抑制布局分析,但是有人能告诉我如何使用它吗?在


Tags: fromimporttruepdfdevicepasswordpdfminercaching
1条回答
网友
1楼 · 发布于 2024-04-25 04:52:03

H Shricharan-在调用laparams=laparams()之后立即尝试设置laparams=None。(我把对LAParams()的调用放在那里,以防它调用我需要的一些初始化代码,但是在下一行中重写了LAParams,其中没有任何代码)。这就是pdf2中的代码文本.py似乎可以。我和你有同样的问题,到目前为止(祈祷)似乎已经解决了。(ie—它似乎速度非常快,并且不会卡在某些文件上,但缺点是,它现在似乎只是将转换后的文本作为一个长字符串返回,没有段落、换行符等。。或者,如果你不确定的话,那就做标记吧

相关问题 更多 >