Ghostscript를 사용하여 여러 페이지 PDF를 단일 JPG로 변환 하시겠습니까?


15

Ghostscript가 PDF를 JPG로 변환 할 수 있고 여러 페이지 PDF의 경우 각 페이지를 개별 JPG로 추출 할 수 있다는 것을 알고 있습니다. 그러나 하나의 JPG로 페이지를 찢어 페이지를 서로 아래에 붙여 넣을 수 있습니까? 또는 JPG 페이지를 하나의 이미지로 결합하기 위해 다른 프로그램을 사용해야합니까 (그리고 ImageMagick이이를 수행 할 수 있습니까?)?

답변:


17

예, 각 PDF 페이지를 단일 JPG 파일로 변환해야합니다 (Ghostscript가이를 수행 할 수 있음).

그런 다음 다른 프로그램을 사용하여 결과 JPG 파일을 함께 연결하십시오 ( ImageMagick 또는 GraphicsMagicmontage하위 명령 을 사용하여이를 수행 할 수 있음 ).

나는 한 번에 그 일을 할 수있는 소프트웨어를 모른다.

PDF에서 JPG로 변환 (Ghostscript 사용) : 최상의 결과를 얻을 수 있습니다. 따라서 명령 줄 옵션을 조정하여 작동하도록하십시오. 나는 이것으로 시작할 것이다 :

gswin32c.exe ^
    -dBATCH ^
    -dNOPAUSE ^
    -dSAFER ^
    -sDEVICE=jpeg ^
    -dJPEGQ=95 ^
    -r600x600 ^
    -sOutputFile=c:/path/to/jpeg-dir/pdffile-%03d.jpeg ^
    c:/path/to/pdffile.pdf

pdffile-001.jpeg , pdffile-002.jpg 등의 JPG가 생성됩니다 . * -dJPEGQ = 95 "매개 변수는"JPEG Quality "를 95 %로 설정하고"600x600 dpi "의 해상도를 사용합니다. Ghostscript의 기본값이 요구 사항에 맞지 않을 경우 결과 JPG의 페이지 크기를 제어하십시오.

gswin32c.exe ^
    -dBATCH ^
    -dNOPAUSE ^
    -dSAFER ^
    -sDEVICE=jpeg ^
    -dJPEGQ=95 ^
    -r600x600 ^
    -dPDFFitPage ^
    -dFIXEDMEDIA ^
    -dDEVICEWIDTHPOINTS=800 ^
    -dDEVICEHEIGHTPOINTS=600 ^
    -sOutputFile=c:/path/to/jpeg-dir/pdffile-%03d.jpeg ^
    c:/path/to/pdffile.pdf

또는

gswin32c.exe ^
    -dBATCH ^
    -dNOPAUSE ^
    -dSAFER ^
    -sDEVICE=jpeg ^
    -dJPEGQ=95 ^
    -r600x600 ^
    -dPDFFitPage ^
    -dFIXEDMEDIA ^
    -sDEFAULTPAPERSIZE=a4 ^
    -sOutputFile=c:/path/to/jpeg-dir/pdffile-%03d.jpeg ^
    c:/path/to/pdffile.pdf

여러 대 단일 JPG-는 스티치 montage(또는 ImageMagick를 GraphicsMagick)montage 명령 (이 예에서는 사용이 ImageMagick이된다)는 바둑판 패턴을 제어 할 수있다. 예-tile 4x3를들어다음과같은 터잡기 레이아웃을 얻는다면 :

1  2  3  4    
5  6  7  8    
9 10 11 12    

이 명령을 사용하여 12 개의 개별 JPG를 하나로 묶을 수 있습니다.

montage ^
    -border 0  ^
    -tile 4x3  ^
    c:/path/to/jpeg-dir/pdffile-*.jpeg  ^
    c:/path/to/final.jpg

물론, montage입력 및 결과 JPG에 대한 배경, 간격, 오프셋, 장식, 레이블, 회전, 자르기, 캡션 등을 결정할 수있는 수십 개의 추가 매개 변수가 있습니다.


편집 : (이 힌트를 이미 원래 답변으로 제공하고 싶지만 잊어 버렸습니다.)montage기본적으로 120x120 픽셀의 타일 크기를 사용합니다. 각 타일의 원래 페이지 크기를 유지-geometry하려면 명령 줄에 추가해야합니다. 가정 당신은 한 A4 하여 PDF에 (= 595x852 PT) 페이지를, 그리고 당신이 유지뿐만 아니라 타일링의 수직 방향 (플러스 4PT 강한 회색 테두리 / 프레임 라인에 가로 22 PT에 11pt의 간격을 추가 할 각 타일 주위)

montage ^
    -border 4 ^
    -tile 4x3 ^
    -geometry 595x842+11+22 ^
    c:/path/to/jpeg-dir/pdffile-*.jpeg ^
    c:/path/to/final.jpg

편집 2 : (또 다른 중요한 힌트가 누락되었습니다.) PDF에서 JPG로 변환 한 스티칭 / 몽타주 프로세스 중에 좋은 이미지 품질을 잃지 않으려면 다음-quality 100과 같이 매개 변수를 명령 줄에추가하십시오:

montage ^
    -border 4 ^
    -tile 4x3 ^
    -geometry 595x842+11+22 ^
    -quality 100 ^
    c:/path/to/jpeg-dir/pdffile-*.jpeg ^
    c:/path/to/final.jpg

답변 주셔서 감사합니다. ImageMagick 6.9.9에서 기하학 매개 변수가 표시되지 않습니다. 또한 결합 된 이미지의 이미지 품질은 여전히 ​​엉망입니다. 말 그대로 단어를 읽을 수 없습니다.
Geek

2

ImageMagick은 내장 된 GhostScript를 지원하므로 모든 작업을 한 번에 수행 할 수 있습니다.

montage -tile 5 thispdfis25pages.pdf tiledoverview.jpg

모든 페이지를 가져 와서 하나의 긴 jpeg를 만들 것입니다.


1
그러나 이것은 기본 설정으로 Ghostscript를 사용하기 때문에 고품질 JPG를 제공 하지 않습니다 (JPG 출력의 경우 상당히 쉬워요). 2 단계 (JPG 페이지를 먼저 확인)로 수행하면 최적의 제어가 가능하고 JPG 출력도 우수합니다.
Kurt Pfeifle

PDF에 ImageMagick의 밀도 설정을 사용하여 고스트 스크립트 설정을 변경하고 좋은 결과를 얻을 수 있습니다. 옵션 사용 방법을 모르는 경우 IM을 두드리지 마십시오.
erjiang

1
k .: 이봐, 나는 ImageMagick을 노크하지 않았다. ICC 색상 프로파일을 적용한 경우에도 해당 옵션을 사용하는 방법을 알고 있습니다. 그러나 모든 Ghostscript 옵션을 몽타주에 전달할 수는 없습니다 . 내 의견은 언급 하지 않은 제안 된 명령을 언급했습니다 -density.
커트 파이 플

덧붙여서, 나는이 방법으로 호출 할 때 ImageMagick이 내부적으로 PDF에서 PS로 변환 한 다음 PS로 PNG로 변환하는 다른 곳을 읽었 으므로이 방법으로 수행하지 않는 또 다른 이유입니다 (두 가지 변환 => 품질이 낮고 느림).
Ibrahim
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.