[python] PyPDF2와 PDFMiner3k 라이브러리 사용 예시

PDF 파일에 관련된 작업을 수행하는 것은 종종 필요한 일입니다. 이를 위해 Python에서는 다양한 라이브러리를 제공합니다. 이번 포스트에서는 PyPDF2와 PDFMiner3k 라이브러리를 사용하여 PDF 파일을 처리하는 방법에 대해 알아보겠습니다.

1. PyPDF2 라이브러리

PyPDF2는 Python에서 PDF 파일을 읽고 쓰기 위한 라이브러리입니다. 다음은 PyPDF2 라이브러리를 사용하여 PDF 파일에서 텍스트를 추출하는 예시 코드입니다.

import PyPDF2

# PDF 파일 열기
pdf_file = open('example.pdf', 'rb')

# PDF 리더 객체 생성
pdf_reader = PyPDF2.PdfFileReader(pdf_file)

# 첫 페이지의 텍스트 추출
first_page = pdf_reader.getPage(0)
text = first_page.extractText()

# 텍스트 출력
print(text)

# 파일 닫기
pdf_file.close()

2. PDFMiner3k 라이브러리

PDFMiner3k는 PDF 파일을 파싱하여 텍스트와 이미지 등을 추출하기 위한 라이브러리입니다. 다음은 PDFMiner3k 라이브러리를 사용하여 PDF 파일에서 텍스트를 추출하는 예시 코드입니다.

from pdfminer3.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer3.converter import TextConverter
from pdfminer3.layout import LAParams
from pdfminer3.pdfpage import PDFPage
from io import StringIO

def extract_text_from_pdf(pdf_path):
    resource_manager = PDFResourceManager()
    return_string = StringIO()
    codec = 'utf-8'
    laparams = LAParams()

    device = TextConverter(resource_manager, return_string, codec=codec, laparams=laparams)
    interpreter = PDFPageInterpreter(resource_manager, device)

    with open(pdf_path, 'rb') as pdf_file:
        for page in PDFPage.get_pages(pdf_file):
            interpreter.process_page(page)

    text = return_string.getvalue()
    return_string.close()

    return text

# PDF 파일에서 텍스트 추출
text = extract_text_from_pdf('example.pdf')

# 텍스트 출력
print(text)

위의 예시 코드에서는 extract_text_from_pdf 함수를 사용하여 PDF 파일에서 텍스트를 추출합니다. example.pdf 파일의 경로를 전달하여 텍스트를 추출하고 출력합니다.

결론

PyPDF2와 PDFMiner3k 라이브러리는 Python에서 PDF 파일을 처리하는 데 유용한 도구입니다. PyPDF2는 간단한 텍스트 추출 작업에 유용하며, PDFMiner3k는 더 복잡한 파싱 작업에 활용할 수 있습니다. 필요에 따라 이러한 라이브러리를 사용하여 PDF 파일을 처리하는 기능을 추가할 수 있습니다.

참고 자료