繁体   English   中英

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

[英]How to use pdfminer.six's pdf2txt.py in python script and outside command line?

我知道如何在命令行中使用pdfminer.six的pdf2txt.py工具; 但是,我有很多PDF文件要转换为txt文件,我不能在命令行中逐个进行。 我还没有找到如何在实际的python脚本中使用此工具。 有任何想法吗?

好消息是,您可以使用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中的可选参数。 同样,如果您需要进行布局更改,例如全文或边距大小,LAParams初始化程序还有可选属性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM