Experience/2021's Experience

PDF 편집 프로그램(feat. Python, Open Source)

ikjo 2022. 1. 3. 22:59

해당 글은 PDF 편집 프로그램 개발 과정과 이에 대한 회고를 다룬 글입니다 :) 아울러 글 가장 하단 제 깃허브 주소에서 제가 개발한 PDF 편집 프로그램의 소스 코드를 확인하실 수 있습니다. :)

 

 

PDF 편집 프로그램?

개발자가 되기로 결심한 후 제가 처음 프로그래밍 언어로 배운 것은 파이썬이었습니다. 유튜브 “나도 코딩” 채널을 통해 파이썬을 학습했었는데, 파이썬 기초 문법을 학습하고 파이썬 라이브러리를 통해 게임, 이미지 병합 프로그램, 웹 스크래핑, 업무자동화(RPA) 프로그램을 만들어 보는 과정(클론 코딩)이었습니다.

 

해당 과정을 통해 배운 내용을 토대로 개인적으로 PDF 편집 프로그램을 개발해 보고 싶었습니다. 저의 전 직장에서는 PDF 편집을 해야하는 일이 잦았는데, 이를 위해서는 복합기에서 일일이 한장 한장 스캔을 떠야했습니다. 하지만 그렇다고 별도 PDF 편집 프로그램을 쓰기 위해서는 법인용 제품을 구매해야 했고, 별도 웹 사이트에서 PDF 편집을 진행하는 경우 로딩 속도, 광고 등의 불편함이 있었습니다.

 

개발 과정

이러한 문제를 해결해보고자 사용자 입장에서 어떻게 PDF 편집을 편리하게 할 수 있을지 고민해보며 위 과정(유튜브 나도코딩)에서 다루지 않았던 PDF 병합·분할이나 마우스 드래그 앤 드롭 라이브러리 사용법을 찾아가면서 PDF 편집 프로그램을 개발해 보았습니다.

 

이때 저 역시 PDF 편집을 하는 일이 잦았기에 사용자 입장에서 수월하게 생각할 수 있었습니다. 이후 개발한 프로그램을 지인들에게 배포해본 결과 모두들 현업에서 사용 만족도가 높았으며 또한 어떤 점이 불편했는지(PDF 파일 등록이 불편하다, 저장경로 확인이 불편하다 등) 피드백을 받아 기능을 개선시킬 수도 있었습니다.

 

배운 점

비록 전 현재 백엔드 개발자를 준비하고 있지만 이 PDF 편집 프로그램을 개발하면서 개발 공부는 무엇보다 실제로 서비스를 개발해보고 이를 사용자들에게 배포하고 운영해보는 것이 가장 효과적인 학습 방법이라는 것을 느낄 수 있었습니다.

 

또한 프로그래밍을 통해 자신의 아이디어가 소프트웨어로 실제화되어 구현될 때 느끼는 희열감과 어떤 문제에 대해 고뇌하는 끝에 해결될 때 얻는 성취감 그리고 사용자가 편리함을 느낄 때 보람감을 느낄 수 있었고 이러한 것들이 개발자가 프로그래밍을 하는 이유이지 않을까라고 생각해볼 수 있었습니다.

 

구현 영상 🎥

 

 

소스 코드

해당 PDF 편집 프로그램에 대한 간단한 설명과 소스 코드는 아래 제 깃헙 레파지토리 링크에서 확인해보실 수 있습니다. :) 혹시 더 좋은 방향으로 개발할 수 있는 방법이 있다면 저한테도 아이디어를 공유해주시면 감사드리겠습니다. 🙇‍♂️

 

 

GitHub - ikjo93/PDF-Editor: PDF editing program using Python

PDF editing program using Python. Contribute to ikjo93/PDF-Editor development by creating an account on GitHub.

github.com

※ 참고 : 현재 해당 프로그램으로 별도 수익을 창출하지 않고 있습니다.