Linux Command line 에서 PDF 파일을 이미지로 저장하기

설치

pdftoppm 은 PDF 를 Image 로 변환해 주는 명령행 유틸로 Free PDF toolkit 인 xPDF 의 구성 요소중 하나로 다양한 플랫폼을 지원합니다.


Windows 용은 https://xpdfreader-dl.s3.amazonaws.com/xpdf-tools-win-4.02.zip 에서 다운받으면 되며 Linux 는 https://www.xpdfreader.com/download.html 에서 바이너리를 받거나 아래처럼 패키지 매니저를 사용해서 설치하면 됩니다.

Ubuntu
sudo apt install poppler-utils


RHEL/CentOS 는 epel 저장소를 설치한 후에 다음 명령을 실행합니다.

Ubuntu
sudo yum install poppler-utils

사용

pdftoppm 은 pdf 파일과 저장할 디렉터리 경로를 옵션으로 주면 됩니다.


다음 명령은 report.pdf 를 읽어서 ~/images 폴더밑에 개별 페이지를 report-01.ppm 부터 report-xx.ppm 까지 저장하며 xx 는 총 페이지수입니다.

pdftoppm ~/report.pdf ~/images/report


report.pdf 가 73 페이지일 경우 report-01.ppm 부터 report-73.ppm 까지 파일이 생겨납니다.


포맷 지정

출력 포맷을 변경할 경우 변환할 포맷을 지정하는 옵션을 사용하면 되며 사용할 수 있는 옵션은 다음과 같습니다.

  • -jpeg
  • -png
  • -tiff


다음 명령은 report-01.jpg 부터 report-73.jpg 까지 개별 페이지를 저장합니다.

JPEG 로 저장
pdftoppm ~/report.pdf -jpeg ~/images/report


gray 로 저장

-gray 옵션을 지정하면 gray scale 형식으로 저장할 수 있습니다

Gray Scale JPEG 로 저장
pdftoppm ~/report.pdf -gray -jpeg ~/images/report


모노크롬으로 저장하려면 -mono 옵션을 사용하면 됩니다.

Monochrome JPEG 로 저장
pdftoppm ~/report.pdf -mono -jpeg ~/images/report

페이지 지정

특정 페이지만 저장할 경우 시작 페이지를 지정하는 -f 옵션과 종료 페이지를 지정하는 -l 옵션을 사용하면 됩니다.


다음은 15 페이지부터 마지막까지 jpeg 로 저장하며 report-15.jpg 부터 report-73.jpg 까지 파일이 생성됩니다.

15페이지부터 JPEG 로 저장
pdftoppm ~/report.pdf -jpeg ~/images/report -f 15


다음은 15 페이지부터 19페이지까지 jpeg 로 저장하며 report-15.jpg 부터 report-19.jpg 까지 파일이 생성됩니다.

15 ~ 19페이지까지 JPEG 로 저장
pdftoppm ~/report.pdf -jpeg ~/images/report -f 15 -l 19


보통 PDF 의 첫 페이지는 표지인 경우가 많으므로 첫 페이지만 cover-01.jpg 로 저장할 경우 다음 명령을 사용합니다.

1페이지만 JPEG 로 저장
pdftoppm ~/report.pdf -jpeg ~/images/cover -f 1 -l 1 

Ref