1 回答
TA贡献1779条经验 获得超6个赞
好消息是您可以使用 PDFMiner 库重新创建您可能在命令行上使用 pdf2text 运行的任何属性/命令。请参阅下面的我使用的基本示例:
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import BytesIO
def pdf_to_text(path):
manager = PDFResourceManager()
retstr = BytesIO()
layout = LAParams(all_texts=True)
device = TextConverter(manager, retstr, laparams=layout)
filepath = open(path, 'rb')
interpreter = PDFPageInterpreter(manager, device)
for page in PDFPage.get_pages(filepath, check_extractable=True):
interpreter.process_page(page)
text = retstr.getvalue()
filepath.close()
device.close()
retstr.close()
return text
if __name__ == "__main__":
text = pdf_to_text("yourfile.pdf")
print(text)
如果您需要应用页码或密码,这些是 PDFPage.get_pages 中的可选参数。同样,如果您需要更改布局,例如 all-texts 或 margin-size,LAParams 初始值设定项有可选属性
添加回答
举报