Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

PDF를 텍스트로 변환하기 위해 Python에서 사용할 수 있는 모듈은 무엇입니까?


PDFMiner 패키지를 사용하여 PDF를 텍스트로 변환할 수 있습니다.

예시

다음과 같은 방법으로 사용할 수 있습니다.

 import sys
from cStringIO import StringIO
 from pdfminer.pdfpage importPDFPage
from pdfminer.pdfinterp importPDFResourceManager, PDFPageInterpreter
from pdfminer.layout importLAParams
from pdfminer.converter importXMLConverter, HTMLConverter, TextConverter
 def pdfparser(data):
    fp = file(data, 'rb')
    resource_manager = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(resource_manager,retstr, codec=codec, laparams=laparams)
    interpreter =PDFPageInterpreter(resource_manager, device)
 
    # Process each page contained in thedocument.
    for page in PDFPage.get_pages(fp):
        interpreter.process_page(page)
        data = retstr.getvalue()
    print data
 pdfparser('filename.pdf')

이것은 pdf 파일을 가져와서 PDFPageInterpreter 클래스의 process_page 함수를 사용하여 페이지별로 텍스트를 추출합니다.

텍스트 추출에 사용하기 훨씬 쉬운 API가 있는 PDFMiner의 대안이 있습니다. pyPDF는 잘 작동합니다(잘 구성된 PDF로 작업한다고 가정). 원하는 것이 텍스트(공백 포함)인 경우 다음을 수행할 수 있습니다.

import pyPdf
pdf = pyPdf.PdfFileReader(open('filename.pdf',"rb"))
for page in pdf.pages:
    print page.extractText()