我正试图找出一种用Python或PHP处理扫描的pdf的方法。我需要能够打开多页PDF,读取内容,并根据文本中的标识符将页面移动到单个PDF文件(如果要分组,则将其移动到一个文件)。
我已下载并与pdftotext玩了一会儿,但我不确定这是否是最好的方法。我使用了扫描PDF的示例,通过pdftotext将其运行到txt文件并稍微围绕它。它运作正常;我能够找到一些标识符,但需要moar正则表达式技能才能有效。但我仍然擅长拆分PDF并根据pdftotext移动它们。
有什么想法吗?
编辑:澄清。
PyPDF似乎是一个很好的起点。这就是我到目前为止所做的:
from pyPdf import PdfFileWriter, PdfFileReader
import re
output = PdfFileWriter()
input1 = PdfFileReader(file("test.PDF", "rb"))
totalPages = input1.getNumPages()
print "total pages to process:" +str(totalPages)
for i in range(totalPages):
p = i
print "processing page %s" %str(i)
output.addPage(input1.getPage(p))
p = input1.getPage(p).extractText()#extract text to search for identifier
pr = re.search("identifier", p)#search for the identifier; to be replaced with a list
#if there's a match, do work
if pr:
outputStream = file("test"+str(i)+".pdf", "wb")
output.write(outputStream)
outputStream.close()
print 'match on page %s' %str(i)
print '\n'
然后从这里我可以使用另一个库来根据他们的位置合并PDF。
另一个问题是:Python的re.search功能有多强大?特别是处理阴暗的OCR,它可靠吗?
答案 0 :(得分:2)
我在小项目上成功使用了pypdf。
答案 1 :(得分:2)
你试过PyPdf吗?请参阅:http://pybrary.net/pyPdf/
这是一个使用PyPdf提取文本的方法:http://code.activestate.com/recipes/511465-pure-python-pdf-to-text-converter/