[python] PDF 파일 메타데이터 수정하기

PDF 파일은 주로 문서의 내용을 나타내는데 사용되지만, 파일 자체에는 메타데이터도 포함되어 있습니다. 메타데이터는 파일의 제목, 저자, 작성일 등과 같은 추가 정보를 포함하는데 사용됩니다.

이번 포스트에서는 Python을 사용하여 PDF 파일의 메타데이터를 수정하는 방법을 알아보겠습니다.

필요한 패키지 설치하기

PDF 파일의 메타데이터를 수정하기 위해서는 PyPDF2라는 Python 패키지가 필요합니다. PyPDF2는 PDF 파일을 다루는 데 사용되는 강력한 도구로, 여러 가지 작업을 수행할 수 있습니다. 아래의 명령어를 사용하여 패키지를 설치하세요.

pip install PyPDF2

코드 작성하기

다음은 PDF 파일의 메타데이터를 수정하는 간단한 Python 코드입니다.

import PyPDF2

def update_metadata(file_path, title=None, author=None, subject=None, keywords=None):
    with open(file_path, 'rb') as file:
        pdf = PyPDF2.PdfReader(file)
        pdf_info = pdf.getDocumentInfo()
        writer = PyPDF2.PdfWriter()
        for page_num in range(len(pdf.pages)):
            writer.addPage(pdf.getPage(page_num))
        writer.addMetadata({
            '/Title': title or pdf_info.title,
            '/Author': author or pdf_info.author,
            '/Subject': subject or pdf_info.subject,
            '/Keywords': keywords or pdf_info.keywords
        })
        with open('updated.pdf', 'wb') as output:
            writer.write(output)

위 코드는 update_metadata() 함수를 정의하고 있습니다. 이 함수는 다음과 같은 매개변수를 받습니다:

함수 내부에서는 다음과 같은 작업을 수행합니다:

  1. PyPDF2.PdfReader()를 사용하여 파일을 엽니다.
  2. PdfReader 객체의 getDocumentInfo() 메소드를 사용하여 기존의 메타데이터 값을 가져옵니다.
  3. PyPDF2.PdfWriter() 객체를 생성합니다.
  4. 페이지 수만큼 반복하면서 PdfReader 객체의 각 페이지를 PdfWriter 객체에 추가합니다.
  5. addMetadata() 메소드를 사용하여 새로운 메타데이터 값을 추가합니다. 입력되지 않은 값들은 기존의 메타데이터 값으로 대체됩니다.
  6. 새로운 PDF 파일을 생성하고 저장합니다.

코드 실행하기

위의 코드를 적절히 수정하고 실행하여 PDF 파일의 메타데이터를 수정해 보세요. 다음은 example.pdf라는 파일의 제목을 “새로운 제목”으로 수정하는 예시입니다:

update_metadata('example.pdf', title='새로운 제목')

위 코드를 실행하면 현재 디렉토리에 updated.pdf라는 새로운 파일이 생성되고, 해당 파일의 메타데이터는 수정된 제목을 가지게 됩니다.

결론

Python을 사용하여 PDF 파일의 메타데이터를 수정하는 방법에 대해 알아보았습니다. 이를 통해 필요한 정보를 추가하거나 업데이트할 수 있으며, 문서 관리나 데이터 분석 등 다양한 용도로 활용할 수 있습니다.

더 많은 기능과 사용법을 알아보려면 PyPDF2 공식 문서를 참고하세요.