在将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)