[python] PDF 파일에서 텍스트 유형 수정하기

PDF 파일은 일반적으로 텍스트 편집이 어려운 형식입니다. 하지만 Python을 사용하면 PDF 파일에서 텍스트를 추출하고 수정할 수 있습니다. 이번 블로그 포스트에서는 PyPDF2 라이브러리를 사용하여 PDF 파일에서 텍스트 유형을 수정하는 방법을 알아보겠습니다.

1. PyPDF2 라이브러리 설치하기

PyPDF2는 Python에서 PDF 파일을 다루는 데 사용되는 라이브러리입니다. 다음 명령어를 사용하여 PyPDF2를 설치합니다.

pip install PyPDF2

2. PDF 파일 열기

PDF 파일을 열기 위해 PyPDF2의 PdfFileReader 클래스를 사용합니다. 다음 코드를 참고하세요.

import PyPDF2

def open_pdf(file_path):
    pdf_file = open(file_path, 'rb')
    pdf_reader = PyPDF2.PdfFileReader(pdf_file)
    return pdf_reader

3. 텍스트 추출하기

PDF 파일에서 텍스트를 추출하기 위해 getText() 메서드를 사용합니다. 다음 코드를 참고하세요.

def extract_text(pdf_reader, page_num):
    page = pdf_reader.getPage(page_num)
    text = page.extractText()
    return text

4. 텍스트 유형 수정하기

PDF 파일에서 텍스트 유형을 수정하기 위해 setText() 메서드를 사용합니다. 다음 코드를 참고하세요.

def modify_text(pdf_reader, page_num, modified_text):
    page = pdf_reader.getPage(page_num)
    page.setText(modified_text)
    return page

5. 수정된 PDF 파일 저장하기

수정된 텍스트로 업데이트된 PDF 파일을 저장하기 위해 PdfFileWriter 클래스를 사용합니다. 다음 코드를 참고하세요.

def save_pdf(pdf_reader, output_path):
    pdf_writer = PyPDF2.PdfFileWriter()
    
    for page_num in range(pdf_reader.numPages):
        page = pdf_reader.getPage(page_num)
        pdf_writer.addPage(page)
        
    output_file = open(output_path, 'wb')
    pdf_writer.write(output_file)
    output_file.close()

6. 예제 코드 전체

위에서 소개한 함수들을 합쳐서 예제 코드를 작성해보겠습니다.

import PyPDF2

def open_pdf(file_path):
    pdf_file = open(file_path, 'rb')
    pdf_reader = PyPDF2.PdfFileReader(pdf_file)
    return pdf_reader

def extract_text(pdf_reader, page_num):
    page = pdf_reader.getPage(page_num)
    text = page.extractText()
    return text

def modify_text(pdf_reader, page_num, modified_text):
    page = pdf_reader.getPage(page_num)
    page.setText(modified_text)
    return page

def save_pdf(pdf_reader, output_path):
    pdf_writer = PyPDF2.PdfFileWriter()
    
    for page_num in range(pdf_reader.numPages):
        page = pdf_reader.getPage(page_num)
        pdf_writer.addPage(page)
        
    output_file = open(output_path, 'wb')
    pdf_writer.write(output_file)
    output_file.close()

# 사용 예시
pdf_reader = open_pdf('example.pdf')
text = extract_text(pdf_reader, 0)
modified_text = '수정된 텍스트입니다.'
modified_page = modify_text(pdf_reader, 0, modified_text)
save_pdf(pdf_reader, 'modified_example.pdf')

마무리

이번 블로그 포스트에서는 PyPDF2 라이브러리를 사용하여 Python에서 PDF 파일에서 텍스트 유형을 수정하는 방법을 알아보았습니다. PDF 파일의 텍스트를 추출하고 수정할 수 있으므로, 자동화나 가공 작업을 할 때 유용하게 사용할 수 있습니다.