[python] PDF 파일에서 텍스트 유형 삭제하기

PDF 파일은 텍스트, 이미지 및 다른 객체를 포함할 수 있는 인기있는 문서 형식입니다. 때때로 우리는 PDF 파일에서 텍스트를 삭제하고 싶을 수 있습니다. 이 글에서는 Python을 사용하여 PDF 파일에서 텍스트를 삭제하는 방법에 대해 알아보겠습니다.

1. 필요한 도구 설치하기

PDF 파일에서 텍스트를 삭제하려면 PyPDF2 라이브러리를 설치해야 합니다. 다음 명령을 사용하여 라이브러리를 설치하세요.

pip install PyPDF2

2. PDF 파일 열기

먼저, 작업할 PDF 파일을 열어야 합니다. 다음 예제 코드를 사용하여 PDF 파일을 열어봅시다.

import PyPDF2

def open_pdf(file_path):
    with open(file_path, 'rb') as file:
        pdf = PyPDF2.PdfFileReader(file)
        return pdf

예제 코드에서는 open_pdf 함수를 정의하여 파일 경로를 매개변수로 받아들입니다. rb 모드로 파일을 열어 PyPDF2의 PdfFileReader 객체를 생성합니다.

3. 텍스트 삭제하기

PDF 파일에서 텍스트를 삭제하려면 해당 페이지와 문자 인덱스에 대한 정보가 필요합니다. 다음 예제 코드는 delete_text 함수를 사용하여 특정 페이지에서 문자를 삭제하는 방법을 보여줍니다.

def delete_text(pdf, page_number, start_index, end_index):
    page = pdf.getPage(page_number)
    content = page.extractText()
    modified_content = content[:start_index] + content[end_index:]
    page.add_new_content(modified_content)

def save_pdf(pdf, output_path):
    with open(output_path, 'wb') as file:
        pdf.write(file)

위의 예제 코드에서는 delete_text 함수를 사용하여 특정 페이지에서 시작 인덱스와 종료 인덱스 사이의 문자를 삭제합니다. 그런 다음 save_pdf 함수를 사용하여 수정된 PDF를 새로운 파일에 저장합니다.

4. 전체 예제

아래의 코드는 이전 단계에서 작성한 함수 및 예제를 활용한 전체적인 예제입니다.

import PyPDF2

def open_pdf(file_path):
    with open(file_path, 'rb') as file:
        pdf = PyPDF2.PdfFileReader(file)
        return pdf

def delete_text(pdf, page_number, start_index, end_index):
    page = pdf.getPage(page_number)
    content = page.extractText()
    modified_content = content[:start_index] + content[end_index:]
    page.add_new_content(modified_content)

def save_pdf(pdf, output_path):
    with open(output_path, 'wb') as file:
        pdf.write(file)

file_path = 'example.pdf'
output_path = 'modified_example.pdf'
pdf = open_pdf(file_path)
delete_text(pdf, 0, 10, 20)
save_pdf(pdf, output_path)

위의 예제 코드는 ‘example.pdf’ 파일을 열고 첫 번째 페이지에서 10번째 문자부터 20번째 문자까지 삭제한 다음 ‘modified_example.pdf’ 파일로 저장합니다.

5. 결론

Python을 사용하여 PDF 파일에서 텍스트를 삭제하는 방법에 대해 알아보았습니다. PyPDF2 라이브러리를 사용하여 PDF 파일을 열고 특정 페이지에서 텍스트를 삭제할 수 있습니다. 이를 통해 텍스트를 삭제하고 수정된 PDF를 저장하는 간단한 예제를 살펴보았습니다. 위의 예제 코드를 참조하여 원하는 PDF 파일에서 텍스트를 삭제해 보세요.