gpt4 book ai didi

python - 如何使用 PyPdf 在 pdf 文件中逐行读取?

转载 作者:IT老高 更新时间:2023-10-28 20:22:39 29 4
gpt4 key购买 nike

我有一些代码可以从 pdf 文件中读取。有没有办法在 Windows 上使用 Pypdf、Python 2.6 从 pdf 文件(不是页面)中逐行读取?

这里是阅读pdf页面的代码:

import pyPdf

def getPDFContent(path):
content = ""
num_pages = 10
p = file(path, "rb")
pdf = pyPdf.PdfFileReader(p)
for i in range(0, num_pages):
content += pdf.getPage(i).extractText() + "\n"
content = " ".join(content.replace(u"\xa0", " ").strip().split())
return content

更新:

调用代码是这样的:

f= open('test.txt','w')
pdfl = getPDFContent("test.pdf").encode("ascii", "ignore")
f.write(pdfl)
f.close()

最佳答案

看起来您拥有的是要逐行解释的大量文本数据。

您可以使用 StringIO 类将该内容包装为可查找的类似文件的对象:

>>> import StringIO
>>> content = 'big\nugly\ncontents\nof\nmultiple\npdf files'
>>> buf = StringIO.StringIO(content)
>>> buf.readline()
'big\n'
>>> buf.readline()
'ugly\n'
>>> buf.readline()
'contents\n'
>>> buf.readline()
'of\n'
>>> buf.readline()
'multiple\n'
>>> buf.readline()
'pdf files'
>>> buf.seek(0)
>>> buf.readline()
'big\n'

在你的情况下,做:

from StringIO import StringIO

# Read each line of the PDF
pdfContent = StringIO(getPDFContent("test.pdf").encode("ascii", "ignore"))
for line in pdfContent:
doSomething(line.strip())

关于python - 如何使用 PyPdf 在 pdf 文件中逐行读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2481945/

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