当前位置: 代码迷 >> python >> 处理PDF文件(读取,拆分,合并,移动)
  详细解决方案

处理PDF文件(读取,拆分,合并,移动)

热度:55   发布时间:2023-06-27 21:47:54.0

我正试图找出一种方法来处理使用Python或PHP扫描的pdf。 我需要能够打开多页PDF,读取内容,并根据文本中的标识符将页面移动到单个PDF文件(如果要分组,则将其移动到一个文件)。

我下载并使用玩了一下,但我不确定这是否是最好的方法。 我使用了扫描PDF的示例,通过pdftotext将其运行到txt文件并稍微围绕它。 它运作正常; 我能够找到一些标识符,但需要moar正则表达式技能才能有效。 但我仍然擅长拆分PDF并根据pdftotext移动它们。

有任何想法吗?


编辑:澄清。

  1. 使用pdftotext将每个pdf页面吐出到单个txt文件中;
  2. grep txt文件中的标识符,并编译那些相似的页面列表;
  3. 基于列表提取和组合(如果适用)相关页面并吐出每个页面的pdf;
  4. 根据分组移动生成的PDF到另一个位置;

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,它可靠吗?

我在小项目中成功使用了 。

你试过PyPdf吗? 请参阅: :

以下是使用PyPdf提取文本的方法: ://code.activestate.com/recipes/511465-pure-python-pdf-to-text-converter/

  相关解决方案