PDF转换为txt时设置阅读方向

时间:2019-01-09 20:06:43

标签: python-3.x pdfminer

在将pdf文件转换为txt时可以设置其阅读方向。我有一个不错的代码,可以很好地工作,但是我的pdf都写成两列。对于某些pdf,代码从左至右读取,对于其他pdf,它首先读取左列,然后读取右列(从左至右进行读取),但我希望它始终从左至右读取,而不是从第一列到第二列。

有人知道如何设置阅读方向吗?

下面是一个示例(见下图): 1.15一些文字                    从1.15开始的更多文本 1.16很多文字                    1.16的更多文本

有时我会收到(总是一个不同的文件,但始终是示例的结构) 1.15 1.16 一些文字 从1.15开始的更多文本 很多文字 1.16的更多文本

我其他时候得到的(这就是我想要的) 1.15 一些文字 从1.15开始的更多文本 1.16
很多文字 1.15的更多文本

这是我的代码:

def pdfparser(data):
    fp = open(data, 'rb')
    resource_manager = PDFResourceManager()
    retstr = io.StringIO()
    codec = 'utf-8'
    pagenos = set(pages)
    laparams = LAParams()
    device = TextConverter(resource_manager, retstr, codec=codec, laparams=laparams)
    interpreter = PDFPageInterpreter(resource_manager, device)

    for page in PDFPage.get_pages(fp, pagenos):
        interpreter.process_page(page)
        data = retstr.getvalue()

    file = open(out_file1, "w", encoding='utf-8')
    file.write(data)
    file.close()

pdfparser(filename)

enter image description here

0 个答案:

没有答案