2012-09-24 22 views
5

特定の「検索文字列」がどのページにあるかを調べるのにどのpythonパッケージを使用できますか?pythonを使用してpdf文書内に検索文字列があるページを見つける

私はいくつかのpython pdfパッケージに目を通しましたが、どちらを使うべきかを知ることができませんでした。 PyPDFはこの機能を備えていないようであり、PDFMinerはそのような単純な作業のために残酷であるようです。 アドバイスはありますか?

もっと正確には: 私はいくつかのPDF文書を持っており、 "Begin"と "End"という文字列の間にあるページを抽出したいと思います。

答えて

11

私は最終的にpyPDFが助けになることを理解しました。それが誰かを助けることができるように私はそれを掲示しています。

(1)関数は、文字列

def fnPDF_FindText(xFile, xString): 
    # xfile : the PDF file in which to look 
    # xString : the string to look for 
    import pyPdf, re 
    PageFound = -1 
    pdfDoc = pyPdf.PdfFileReader(file(xFile, "rb")) 
    for i in range(0, pdfDoc.getNumPages()): 
     content = "" 
     content += pdfDoc.getPage(i).extractText() + "\n" 
     content1 = content.encode('ascii', 'ignore').lower() 
     ResSearch = re.search(xString, content1) 
     if ResSearch is not None: 
      PageFound = i 
      break 
    return PageFound 
を見つけます

(2)興味のあるページを抽出する機能を、私はこれが誰かの役に立つことを願っています

def fnPDF_ExtractPages(xFileNameOriginal, xFileNameOutput, xPageStart, xPageEnd): 
     from pyPdf import PdfFileReader, PdfFileWriter 
     output = PdfFileWriter() 
     pdfOne = PdfFileReader(file(xFileNameOriginal, "rb")) 
     for i in range(xPageStart, xPageEnd): 
      output.addPage(pdfOne.getPage(i)) 
      outputStream = file(xFileNameOutput, "wb") 
      output.write(outputStream) 
      outputStream.close() 

else

+0

ありがとう、これは役に立ちました! –

+0

こんにちは、エキスパートですが、長いことですが、このコードを修正して特定の文字列を含むPDFページを抽出し、それらの新しいドキュメントを作成するにはどうすればよいですか? – ASPiRE

関連する問題