gpt4 book ai didi

python - 如何获得与使用 python 将 pdf 复制和粘贴到文本相同的结果?

转载 作者:行者123 更新时间:2023-11-28 17:32:08 27 4
gpt4 key购买 nike

当我使用 ctrl+a、ctrl+c、ctrl+v 将 pdf 文档复制并粘贴到文本文件时,我得到如下结果 this :

但是当我将 pdfminer 与下面的代码一起使用时,我得到 this :

from cStringIO import StringIO
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage

*....*

def scrub(self):
text = self.convert(self.inFile)
with open(self.WBOutputFile, "w") as WBOut:
WBOut.write(text)

#code from Tim Arnold at https://www.binpress.com/tutorial/manipulating-pdfs-with-python/167
def convert(self, fname):
pagenums = set()

output = StringIO()
manager = PDFResourceManager()
converter = TextConverter(manager, output, laparams=LAParams())
interpreter = PDFPageInterpreter(manager, converter)

infile = file(fname, 'rb')
for page in PDFPage.get_pages(infile, pagenums):
interpreter.process_page(page)
infile.close()
converter.close()
text = output.getvalue()
output.close
return text

*....*

代码比手动执行要多花几秒钟,但我想自动执行此 pdf 到文本的过程,因为我有很多文档。有没有办法获得与复制和粘贴类似的结果(在速度和格式方面)?我使用 chrome 作为我的 pdf 查看器,sublime text 作为我的文本编辑器,Windows 8 作为我的操作系统。

我正在使用来自 http://www 的 pdf。 supremecourt.gov/oral_arguments/argument_transcripts/14-8349_n648.pdf

最佳答案

尝试将 laparams 中的 char_margin 设置为 50。

laparams=LAParams()
laparams.char_margin = float(50)
converter = TextConverter(manager, output, laparams=laparams)
interpreter = PDFPageInterpreter(manager, converter)

关于python - 如何获得与使用 python 将 pdf 复制和粘贴到文本相同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33619975/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com