[python] PDF 파일에서 특정 유형의 요소 붙여넣기

PDF 파일에서 특정 유형의 요소를 추출하여 다른 문서나 프로그램에 붙여넣는 것은 많은 경우에 유용합니다. 이번 포스트에서는 Python을 사용하여 PDF 파일에서 특정 유형의 요소를 붙여넣는 방법을 알아보겠습니다.

필요한 라이브러리

  1. PyPDF2: PDF 파일을 읽고 쓰기 위한 라이브러리입니다.
  2. Pyperclip: 클립보드에 텍스트를 복사하고 붙여넣기 위한 라이브러리입니다.

설치

다음 명령을 사용하여 필요한 라이브러리를 설치할 수 있습니다:

pip install PyPDF2 Pyperclip

코드 예시

다음은 PDF 파일에서 특정 유형의 요소를 추출하여 클립보드에 복사하는 예시 코드입니다. 이 예시에서는 PDF 파일에서 이메일 주소를 추출하여 클립보드에 복사하는 기능을 구현하였습니다.

import PyPDF2
import re
import pyperclip

# PDF 파일 열기
pdf_file = open('sample.pdf', 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_file)

# 추출할 유형의 요소 정규표현식 패턴
email_regex = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'

# 추출된 이메일 주소를 담을 리스트
email_list = []

# PDF 파일의 각 페이지를 순회하며 이메일 주소 추출
for p in range(pdf_reader.numPages):
    page = pdf_reader.getPage(p)
    text = page.extract_text()
    emails = re.findall(email_regex, text)
    email_list.extend(emails)

# 추출된 이메일 주소 클립보드에 복사
pyperclip.copy('\n'.join(email_list))

실행

다음과 같이 코드를 실행할 수 있습니다:

  1. sample.pdf 파일을 프로젝트 폴더에 준비합니다.
  2. 위의 예시 코드를 main.py 파일에 복사합니다.
  3. 터미널 또는 명령 프롬프트에서 아래 명령을 실행합니다:
python main.py
  1. 코드 실행 후 클립보드에 추출된 이메일 주소가 복사되었는지 확인할 수 있습니다.

결론

Python과 PyPDF2 라이브러리를 사용하여 PDF 파일에서 특정 유형의 요소를 추출하고, Pyperclip 라이브러리를 사용하여 클립보드에 붙여넣는 방법을 알아보았습니다. 이를 응용하여 다양한 유형의 요소를 추출하고 활용할 수 있습니다.