파이썬 튜토리얼: pypdf 사용법과 문제 해결
pypdf로 PDF 파일 다루기
소개
Portable Document Format(PDF)는 문서를 신뢰성 있게 표시하고 교환하기 위해 사용되는 파일 형식입니다. PDF는 원래 Adobe에서 개발되었으나, 현재는 국제 표준화 기구인 ISO에서 관리하는 열린 표준이 됐습니다. Python에서는 PyPDF2
패키지를 사용하여 기존의 PDF 파일과 작업할 수 있습니다.
이 글을 마치기 전에, 다음과 같은 작업을 수행하는 방법을 익힐 것입니다:
- PDF에서 문서 정보 추출하기
- 페이지 회전하기
- PDF 병합하기
- PDF 분할하기
- 워터마크 추가하기
- PDF 암호화하기
자, 시작해봅시다!
pyPdf, PyPDF2, 그리고 PyPDF4의 역사
오리지널 pyPdf
패키지는 2005년에 처음 출시되었습니다. pyPdf
의 공식적인 마지막 릴리스는 2010년이었습니다. 1년 가량의 기간이 흐른 후, Phasit이라는 회사에서 pyPdf
의 분기인 PyPDF2
를 후원했습니다. PyPDF2
는 원본과 호환되도록 작성되었으며, 2016년까지 잘 사용되었습니다.
PyPDF3
이라는 패키지가 잠깐 릴리스되었으며, 그 후 프로젝트는 PyPDF4
로 이름이 변경되었습니다. 이들 프로젝트는 모두 거의 동일한 작업을 수행하지만, pyPdf
와 PyPDF2+ 사이의 가장 큰 차이점은 후자 버전에 Python 3 지원이 추가된 것입니다. Python 3용 다른 pyPdf
분기인 pyPdf for Python 3
도 있지만, 이 분기는 오랫동안 유지되지 않았습니다.
PyPDF2
는 2016년에 사용 중단되었으나, 2022년에 다시 부활하였고 현재 활발히 유지되고 있습니다. PyPDF4
는 PyPDF2
와 완전히 호환되지 않습니다. 이 글의 대부분의 예제는 PyPDF4
에서도 작동하지만, 일부는 작동하지 않을 수 있으므로 PyPDF4
는 이 글에 더 많이 사용되지 않습니다. PyPDF2
로 가져온 인포트를 PyPDF4
로 교체하여 동작을 확인해보세요.
pdfrw
: 대체재
Patrick Maupin은 PyPDF2
와 유사한 작업을 수행할 수 있는 pdfrw
패키지를 만들었습니다. pdfrw
는 PyPDF2
를 이 글에서 배울 작업과 동일한 작업에 사용할 수 있습니다. 다만, 암호화 기능은 지원하지 않습니다.
pdfrw
의 가장 큰 차이점은 ReportLab 패키지와 통합되어 기존 PDF를 사용하여 ReportLab을 사용해 새로운 PDF를 만들 수 있다는 점입니다.
설치
PyPDF2
를 설치하는 방법은 일반 Python 대신 Anaconda를 사용하는 경우 pip
또는 conda
로 수행할 수 있습니다.
다음은 pip
을 사용하여 PyPDF2
를 설치하는 방법입니다:
PyPDF2
에는 의존성이 없으므로 설치가 매우 빠릅니다. 다운로드하는 시간만큼 설치하는데 시간을 소요할 것입니다.
예제 코드
PDF에서 문서 정보 추출하기
페이지 회전하기
PDF 병합하기
PDF 분할하기
워터마크 추가하기
PDF 암호화하기
결론
이 글에서는 Python을 사용하여 PDF 파일을 다루는 방법을 알아봤습니다. PyPDF2
패키지를 사용하여 다양한 작업을 수행할 수 있습니다. PDF에 대한 자세한 조작이 필요한 경우 pdfrw
패키지도 고려해볼 수 있습니다.