- py-pdf 팀이 만드는 Python 기반의 오픈소스 PDF 파일 조작용 CLI 도구
- 메타데이터 표시, 페이지 추출 및 병합, 페이지 삭제, 이미지를 PDF로 변환, 문서 압축, 북클릿 제작 등 다양한 PDF 편집 기능 제공
-
PDF에서 이미지 및 주석 텍스트 추출이나 수동 편집 시 손상된 PDF의 xref 복구와 같은 전문 기능도 지원
- 최근 출시된 0.5.0 버전에서는 PDF 문서 서명 및 검증, 주석이 달린 페이지만 추출, 특정 페이지 회전 등 신규 기능이 추가됨
오픈소스 PDF CLI 도구 pdfly
- pdfly는 py-pdf 조직의 최신 프로젝트로, Python 환경에서 동작하는 PDF 파일 조작용 명령행 도구
- fpdf2 및 pypdf 라이브러리 기반으로 개발되었으며, 설치와 사용이 간편하여 다양한 플랫폼에서 활용 가능
- pdfly의 가장 큰 강점은 경쟁 오픈소스 대비 폭넓은 기능 지원과, 초보 개발자도 쉽게 사용할 수 있는 직관적 인터페이스
- 다른 프로젝트와 비교했을 때, 한 도구로 PDF 작업의 대부분을 손쉽게 처리할 수 있어 효율성이 뛰어남
주요 기능
-
메타데이터 표시
-
pdfly meta 및 pdfly pagemeta 명령어를 통해 PDF 메타데이터 표시 지원
- 파일명, 권한, 크기, 생성/수정/접근 시간 등 운영체제 데이터 제공
- PDF 버전, 페이지 수, 암호화 여부, 폰트 정보, 첨부파일, 이미지 개수 등 PDF 내부 데이터 표시
-
문서 조합 및 편집
-
pdfly cat: 특정 페이지 추출 및 문서 병합 기능
-
pdfly rm: 선택적 페이지 삭제 기능
-
pdfly x2pdf: 이미지를 PDF 문서로 변환
-
pdfly compress: 문서 압축 기능
-
pdfly 2-up 및 pdfly booklet: 북릿 제작 기능
-
콘텐츠 추출
-
pdfly extract-images: PDF에서 이미지 추출
-
pdfly extract-annotated-text: 주석이 달린 텍스트 추출
-
PDF 복구
-
pdfly update-offsets: 텍스트 에디터로 수동 편집한 PDF의 xref 테이블을 수정하여 다시 열 수 있도록 복구
- xref 테이블은 문서 내 바이트 오프셋 인덱스로, 수동 편집 시 손상될 수 있음
- 2025년 10월 13일 pdfly 0.5.0 버전 출시
-
pdfly sign: PDF 문서에 간편하게 전자서명 추가 가능
-
pdfly check-sign: PDF 문서의 서명 검증 기능
-
pdfly extract-annotated-pages: 주석이 달린 페이지만 선택적으로 추출하여 대용량 문서의 반복적 검토 및 재작업 지원
-
pdfly rotate: 문서의 특정 페이지 회전 기능
향후 계획
- GitHub의
up-for-grabs 이슈에 다양한 기능 아이디어 가 준비중
-
신규 기여자를 위한
good first issues 라벨의 이슈들이 준비되어 있어 오픈소스 입문자의 참여도 유도
-
pdfly sign 및 check-sign 등 전자 서명(sign, check-sign) 관련 기능 확장을 중점적으로 발전시킬 계획임
- 사용자 피드백, 버그 리포트, 기능 제안을 적극 환영함
https://github.com/py-pdf/pdfly