为了账号安全,请及时绑定邮箱和手机立即绑定

如何在python脚本和外部命令行中使用pdfminer.six的pdf2txt.py?

如何在python脚本和外部命令行中使用pdfminer.six的pdf2txt.py?

红颜莎娜 2021-06-10 14:04:14
我知道如何在命令行中使用 pdfminer.six 的 pdf2txt.py 工具;但是,我有很多 PDF 文件要转换为 txt 文件,我不能在命令行中一一执行。我还没有找到如何在实际的 python 脚本中使用这个工具。有任何想法吗?
查看完整描述

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 初始值设定项有可选属性


查看完整回答
反对 回复 2021-06-22
  • 1 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信