특정 PDF 파일의 모든 페이지에 대한 스크린샷을 찍는 스크립트를 만드는 방법

특정 PDF 파일의 모든 페이지에 대한 스크린샷을 찍는 스크립트를 만드는 방법

PDF 파일을 입력으로 사용하고 각 페이지의 스크린샷을 실제 크기(100%)로 찍는 스크립트를 만들고 싶습니다. 따라서 다음과 같습니다. custom_pdfcapture example.PDF실행 후 스크린샷은 example.PDF형식을 따르는 파일 이름과 함께 동일한 디렉터리 에 있어야 합니다 ${name_of_pdf}_${page_number}.pdf. 이를 수행하려면 어떤 패키지/명령을 조사해야 합니까?

답변1

pdfseparate이 패키지의 도구는 poppler-utils입력 PDF 파일의 단일 페이지를 추출할 수 있습니다.

예:

pdfseparate example.pdf example_%02d.pdf

printf 스타일의 페이지 번호를 나타내는 example.pdf페이지 example_01.pdf, example_02.pdf, ... 로 구분됩니다 .%02d


패키지의 도구와 도구를 pdftocairo사용하여 입력 PDF 파일에서 이미지를 생성할 수 있습니다.pdftoppmpoppler-utils

예:

pdftocairo -r 300 -png example.pdf

pdftocairo -scale-to-x 800 -scale-to-y -1 -png example.pdf

두 명령 모두 지정된 문서의 모든 페이지를 example-01.png, example-02.png, ... 라는 이름의 PNG 이미지로 렌더링합니다.

첫 번째 명령은 x 및 y 해상도를 300PPI(기본값은 150PPI)로 설정하고, 두 번째 명령은 출력 너비를 고정 800픽셀( -scale-to-x 800)로 설정하며, 출력 높이는 -scale-to-y -1종횡비( )에 따라 결정됩니다.

JPEG(JPEG 압축 수준 변경 참조) 또는 TIFF 이미지를 사용하거나 생성 할 수 -jpeg있습니다 .-tiff-png-jpegopt

문서의 MediaBox가 CropBox(Acrobat이 표시하고 인쇄하는 항목)보다 큰 경우 옵션을 추가합니다 -cropbox.

pdfinfo패키지에 포함된 상자 크기를 확인할 수 있습니다.

pdfinfo -box example.pdf

다양한 렌더링 백엔드를 사용하는 유틸리티에는 pdftoppm출력 이미지(여기 example)에 대한 접두사가 필요하며 출력은 다음과 유사합니다.

pdftoppm -r 300 -png example.pdf example

더 많은 옵션을 보려면 이 두 명령의 매뉴얼 페이지를 확인하십시오.

관련 정보