[python] PDF 파일에서 폰트 정보 추출하기

PDF 파일은 다양한 폰트를 포함할 수 있습니다. 때로는 PDF 파일을 처리해야 할 때 해당 파일에 사용된 폰트 정보가 필요한 경우가 있습니다. 이번 포스트에서는 Python을 사용하여 PDF 파일에서 폰트 정보를 추출하는 방법을 알아보겠습니다.

필요한 라이브러리 설치

먼저, pdfminer.six 라이브러리를 설치해야 합니다. 이 라이브러리는 PDF 파일을 처리하는 데 도움을 주는 도구입니다. 아래 명령을 사용하여 pdfminer.six를 설치할 수 있습니다.

pip install pdfminer.six

PDF 파일에서 폰트 정보 추출하기

이제 Python 코드를 사용하여 PDF 파일에서 폰트 정보를 추출할 수 있습니다. 다음은 간단한 예제 코드입니다.

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

def extract_fonts_from_pdf(file_path):
    rsrcmgr = PDFResourceManager()
    output_str = io.StringIO()
    codec = 'utf-8'
    laparams = LAParams()

    with open(file_path, 'rb') as file:
        interpreter = PDFPageInterpreter(rsrcmgr, TextConverter(rsrcmgr, output_str, codec=codec, laparams=laparams))

        for page in PDFPage.get_pages(file, check_extractable=True):
            interpreter.process_page(page)

    text = output_str.getvalue()
    output_str.close()

    # 추출된 폰트 정보 출력
    fonts = set()
    for line in text.splitlines():
        fonts.add(line.strip())

    return fonts

# PDF 파일 경로 지정
pdf_file_path = 'example.pdf'

# 폰트 정보 추출
font_info = extract_fonts_from_pdf(pdf_file_path)

# 결과 출력
for font in font_info:
    print(font)

위 코드는 pdfminer.six 라이브러리를 사용하여 PDF 파일을 열고, 폰트 정보를 추출합니다. 추출된 폰트 정보는 set 자료형을 사용하여 중복을 제거한 후 출력합니다.

이제 위 코드를 실행하면 해당 PDF 파일에서 사용된 폰트 정보가 출력됩니다.

결론

Python을 사용하여 PDF 파일에서 폰트 정보를 추출하는 방법을 알아보았습니다. pdfminer.six 라이브러리를 사용하여 간단하게 폰트 정보를 추출할 수 있습니다. PDF 파일을 처리해야 할 때 폰트 정보가 필요한 경우, 위의 코드를 사용하여 쉽게 추출할 수 있습니다.

참고 자료