请温柔一点,我是Python的新手。 我已经安装了几个模块,但找不到适合我需求的模块。也许你可以指出我正确的。
我想在已经文本可搜索的PDF中搜索某种模式([A-Z][A-Z][0-9][0-9][0-9][0-9](,它应该给我所有位置(X1,Y1,X2,Y2(。
我可以使用类似的东西吗?
谢谢!
明白了,或多或少,这是我可以使用的东西。如果你们有更好的解决方案,请挺身而出!我感谢对此的任何帮助。
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LAParams, LTTextBox, LTTextLine, LTFigure
import re
def parse_layout(layout):
"""Function to recursively parse the layout tree."""
for lt_obj in layout:
if isinstance(lt_obj, LTTextBox):
if re.findall("[A-Z][A-Z][0-9][0-9][0-9][0-9]", lt_obj.get_text()):
print(lt_obj.__class__.__name__)
print(lt_obj.bbox)
print(lt_obj.get_text())
fp = open('M:/test.pdf', 'rb')
parser = PDFParser(fp)
doc = PDFDocument(parser)
rsrcmgr = PDFResourceManager()
laparams = LAParams()
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)
for page in PDFPage.create_pages(doc):
interpreter.process_page(page)
layout = device.get_result()
parse_layout(layout)