[PDF TO HTML] PDF 파일을 HTML로 변환하기
HTML 을 PDF 로 변환하는 온라인 사이트나 프로그램은 정말 많은데 그 반대의 자료가 필요한 상황이여서 자료를 찾고
테스트가 성공적으로 완료되어 기록을 남기게 되었습니다.
오픈소스 PDF2HTML EX
오늘 사용할 프로그램은 'PDF2HTML EX' 라는 오픈소스를 활용하였습니다.
[ PDF2HTML EX 링크 : https://pdf2htmlex.github.io/pdf2htmlEX/ ]
온라인 PDF TO HTML 사이트
단순하게 파일 변환이 필요하신 분들은 아래 사이트가 PDF2HTML EX 를 활용하여 구현한 사이트이므로 아래 링크에서 손쉽게 변환을 할 수 있으니 참고하시기 바랍니다.
[ 링크 : https://convertio.co/kr/pdf-html/ ]
리눅스(우분투 Ubuntu 에 설치 및 활용)
제가 이 프로그램을 찾은 이유는 운영하는 대학교 관련 사이트(Spring 프레임워크로 제작)에 활용하기 위해서 였습니다.
대학교 공식 홈페이지에서 PDF 로 학식을 매주 올려주는데 이 것을 주 단위로 다운로드 하여 자동으로 HTML 변환하여 DB에 넣어주는 작업이 필요했습니다.
프로스세는 다음과 같았습니다.
1. 대학교 공식 홈페이지에서 스케줄러를 통해 자동으로 운영서버에 다운로드
2. 받은 학식 PDF 자료를 PDF2HTML EX 를 활용하여 HTML 로 자동 변환
3. 변환된 HTML 을 정규화를 통해 필요한 데이터를 DB에 Insert (MariaDB)
4. 사용자가 보기편한 레이아웃으로 학식 데이터를 보여줌
*주의 : 모든 작업은 root 권한(sudo 활용)하여 작업하여야 합니다.
우선 위 Github 주소를 통해 Source code를 다운로드하고 서버에 압축파일을 풀어준다.
진행환경
저는 Docker에서 tomcat85 컨테이너에서 작업을 테스트를 진행하였습니다.
진행순서
1. sudo apt update로 apt 업데이트를 진행하였습니다.
sudo apt update
2. wget을 통해 repository 를 받고 mv 명령어를 통해 파일명을 쉽게 변경하였습니다.
wget https://github.com/pdf2htmlEX/pdf2htmlEX/releases/download/v0.18.8.rc1/pdf2htmlEX-0.18.8.rc1-master-20200630-Ubuntu-bionic-x86_64.deb
sudo mv pdf2htmlEX-0.18.8.rc1-master-20200630-Ubuntu-bionic-x86_64.deb pdf2htmlEX.deb
3. apt install 을 통해 설치하는데 경로 deb 파일 경로 잘 보고 설치하셔야 합니다.
sudo apt install ./pdf2htmlEX.deb
4. 설치가 완료되었는지 명령어를 통해 아래와 같이 나오는지 확인하시면 됩니다.
pdf2htmlEX -v
5. 마지막으로 변환할 PDF 파일을 서버에 업로드하고 아래 명령어로 PDF를 HTML 로 변환한다
*주의사항 : pdf 파일이 위치해 있는 경로를 절대 경로로 적어주시면 틀릴 일이 없습니다.
기타 옵션들도 많으니 한번 활용해보시면 좋을 듯 합니다.
pdf2htmlEX --zoom 1.3 ./2022.pdf
6. 이 작업을 스케줄러(crontab)를 통해 서버에서 주기적으로 변환한 뒤 html을 정규화하여, DB에 넣는 작업을 진행하면 됩니다.
마치며
실제로 사용해보니 성능이 좋은 편이였습니다.
다만, 더이상 유지보수를 진행하지 않는 소스이며, 한글이 가끔은 누락되는 경우도 발생하였습니다.
하지만 오픈소스에 이 정도 퀄리티를 낼 수 있다는 것은 참 좋았던 것 같습니다.
참고자료
https://intrepidgeeks.com/tutorial/how-to-install-pdf2htmlex-on-ubuntu-2004
Ubuntu 20.04에 pdf2htmlEX를 설치하는 방법
intrepidgeeks.com