PDF 파일에 암호 하나 거는데 유료프로그램까지 써야 되는 거야?
즐거운 데이터 생활되시고 있으십니까? 데이터위자드입니다.
요 앞전 'OA 팁' 포스팅에서,
PDF 파일에 암호를 설정하는 3가지 방법에 대해서 알아보았습니다.
[사무자동화/OA 꿀팁] - PDF 파일에 암호 설정하는 3가지 방법
PDF 암호설정은 크게 3가지 방법,
- 유료 프로그램 사용하기
- 온라인 PDF 편집 사이트 활용하기
- 알 PDF 활용하기 (개인사용자 한정)
이 있다고 언급했었죠.
헌데, 통상적으로 공공기관이나 기업체에서 근무 중인 분들이라면, 위 3가지 방법을 사용하는 것이 어려울 수도 있을 것입니다. 예상되는 문제에 대한 시나리오는 대략 다음과 같겠네요.
방 법 | 예상되는 문제 혹은 시나리오 |
유료 프로그램 사용하기 | 예산문제로 구매 안해줌 |
온라인 PDF 편집 사이트 활용하기 | 기업 보안 문제로 Block 됨. or 우회 시도하다가 보안팀 감사 받음 |
알PDF 활용하기 | 개인사용자 아니라서 라이선스 문제 생김 |
거기다가 문득 생각해 보니, 암호하나 걸자고 유료프로그램을 구독해야 하거나 소속 단체에서 보안상 규제하는 온라인 파일 업로드까지 하면서 까지 해야 하는 건가 하는 의문, 소위 현타가 올 수 있을 것입니다.
어쨌든, 궁하면 통하는 법.
비용과 라이선스의 압박에서 벗어날 수 있는 방법을 찾아,
파이썬으로 PDF 암호 생성하기
를 해보도록 하겠습니다.
pypdf 라이브러리로 pdf 파일 주무르기
이번에 사용할 파이썬 패키지는 pypdf입니다.
* python의 설치와 패키지 방법은 이전 포스팅 모음 '맨땅에 Python'을 참조해 주시길 바랍니다.
'맨땅에 프로그래밍/맨땅에 Python' 카테고리의 글 목록 (datawizard.co.kr)
해당 패키지는 pypi 사이트에서 쉽게 찾을 수 있습니다. (다만, 비슷한 이름의 패키지가 많이 검색되므로 검색 시 주의를 요합니다.)
해당 링크는 여기입니다. ( 포스팅 작성기준 4.2.0 버전이 최신이네요.)
pypdf의 설명을 보시면 아시겠지만, 해당 패키지는 pdf에 암호를 생성하는 기능뿐 아니라 분할, 합치기, 갈무리, 주석 생성 등 다양한 pdf 편집 기능을 수행할 수 있는 라이브러리입니다. 암호 생성은 pypdf 패키지의 다양한 기능 중 한 가지 일뿐이죠.
pypdf is a free and open-source pure-python PDF library capable of splitting, merging, cropping, and transforming the pages of PDF files. It can also add custom data, viewing options, and passwords to PDF files. pypdf can retrieve text and metadata from PDFs as well. - 출처 pypdf @ pypi
여하튼, 패키지 설치를 위해 CLI에 간단히,
pip install pypdf
를 입력하여 설치를 진행합니다. (패키지명도 군더더기 없이 근본 넘치네요.)
패키지 설치까지 끝났다면, 즐거운 코딩 시간입니다.
pypdf 이용하여 pdf 암호 설정 예제
사설은 그만하고 예제 코드로 바로 넘어가겠습니다. 코딩은 단 6 줄 뿐으로 매우 간단합니다.
실행결과로 다른 이름으로 저장된 파일을 열어보면,
암호가 잘 설정된 것을 보실 수 있습니다.
6줄의 간단한 코드만으로, 라이선스 비용에 대한 이슈와 보안 이슈를 한방에 해결하였습니다.!!
다만, 파일 하나하나를 암호화하기 위해 개별로 프로그램을 작성해 주는 것은 아무래도 번거로운 작업이 될 것이기에 Pyqt5와 같은 GUI를 이용하여 사용자 편의를 도모한다면 언급된 예제보다 더 좋은 결과물이 나올 것이라 기대할 수 있겠습니다.
정리하며,
오늘은, Python과 pypdf 패키지를 활용하여 pdf파일에 암호설정하는 방법을 알아보았습니다.
앞서 포스팅에서 소개한 pdf암호 설정방법을 활용하기에는 라이선스나 보안에 대한 이슈가 예상되는 기관/기업 사용자분들에게 좋은 대안이 될 것이라 생각됩니다.
물론, 해당 pypdf 패키지는 암호설정 기능뿐 아니라 pdf 편집을 자동화하는데 도움을 줄 수 있는 다양한 기능을 탑재하고 있는 바 이점도 눈여겨보시고 적극 활용하시길 바랍니다. (공식 문서는 아래 페이지에서 자세히 확인 가능합니다.)
Welcome to pypdf — pypdf 4.2.0 documentation
숙지하시어, 즐거운 데이터 생활 그리고 업무 되시길 바랍니다.
* 본 포스팅에서 언급된 라이브러리, 단체는 필자와 무관함을 알립니다.
도움이 되셨다면, 왼쪽 아래 '💗' 클릭 부탁드립니다. 감사합니다.
'맨땅에 프로그래밍 > Python 복기장' 카테고리의 다른 글
Python으로 반올림, 올림, 내림 처리하기(feat. round, ceil, floor) (0) | 2024.04.29 |
---|---|
Python으로 미국 현지 Summer time 확인 자동화 하기 (feat. pytz) (2) | 2024.04.15 |
List 자료형으로 Dataframe 만들기, 열(Columns) 복사하기, 열에 반복데이터 넣기 (0) | 2024.04.13 |
Dataframe에서 특정 조건을 만족하는 행만 추출하기(Feat. Pandas) (0) | 2024.04.04 |
Python으로 적정 원달러 환율 구하기(feat. 달러 투자 무작정 따라하기) (0) | 2024.03.27 |