2014-11-18 1 views
3

this PDF을 고려하십시오. 다음 명령을 사용하여 표준 글자 크기 (8.5 x 11)로 변환하려고합니다.Ghostscript를 사용하여 정확히 8.5x11 인치가되도록 PDF 크기를 조정하려면 어떻게합니까?

gs -dFIXEDMEDIA -dBATCH -dNOPAUSE -sPAPERSIZE=letter \ 
    -dPDFFitPage -q -sDEVICE=pdfwrite -sOutputFile=out.pdf \ 
    dean08mapreduce.pdf 

여기 출력은 pdfinfo입니다.

Producer:  GPL Ghostscript 9.10 
CreationDate: Mon Nov 17 18:25:01 2014 
ModDate:  Mon Nov 17 18:25:01 2014 
Tagged:   no 
Form:   none 
Pages:   7 
Encrypted:  no 
Page size:  596.225 x 792 pts 
Page rot:  0 
File size:  126908 bytes 
Optimized:  no 
PDF version: 1.4 

여기에 오리지널 pdfinfo이다 출력 정확한 높이 아니라 정확한 폭

Producer:  Creo Normalizer JTP 
CreationDate: Fri Dec 21 09:09:07 2007 
ModDate:  Fri Dec 21 14:46:23 2007 
Tagged:   no 
Form:   AcroForm 
Pages:   7 
Encrypted:  no 
Page size:  603 x 801 pts 
Page rot:  0 
File size:  235239 bytes 
Optimized:  yes 
PDF version: 1.3 

공지있다. 그것은 이 아니고 8.5 x 11이 아닙니다.

나는 herehere 솔루션을 시도했지만 어느 것도 필요로하지 않습니다.

PDF를 정확히 8.5 x 11으로 만들려면 어떻게해야합니까?

양쪽에 작은 공백을 추가하는 데 문제가 없어도 상관 없습니다. 좋은 계획, 당신은 잠재적으로 포스트 스크립트 (특히 투명성을 지원하지 않습니다) PDF의 그래픽 모델을 지원하지 않습니다 특히 이후 모든 단계에서 문제를 소개되지

답변

4

더블 변환

귀하의 문제가 있다는 것입니다 원본 PDF 파일에는 Ghostscript pdfwrite 장치에 보관 된 CropBox가 포함되어 있습니다. pdfinfo의 출력은 CropBox를 고려하여 PDF 파일의 크기를 알려줍니다. MediaBox는 실제로 612x792입니다. 정확히 8.5x11입니다. 원하는 내용입니다.

높이가 다른 이유는 새 MediaBox가 원래 CropBox 내부에 있으므로 두 개의 상자가 교차되어 있기 때문입니다.

CropBox를 보존하지 않으려면 새 CropBox 페이지 또는 PAGES pdfmark를 작성하여 PostScript로 보내야합니다. 이것은 완전히 사소한 것은 아닙니다. 귀하의 경우 각 페이지마다 CropBox (전체 문서에 대한 단일 기본값이 아님)가 있으므로 각 페이지에서 CropBox를 재정의해야합니다. 이렇게하려면 pdfmark를 사용하여 원하는 CropBox를 설정하는/EndPage 프로 시저를 정의하고 전에 을 보내야 PDF 파일을 처리 할 수 ​​있습니다.

이 :

gs -sDEVICE=pdfwrite \ 
    -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=792 -dFIXEDMEDIA \ 
    -sOutputFile=out.pdf \ 
    -c "<</EndPage {0 eq {[/CropBox [0 0 612 792] /PAGE pdfmark true}{false}ifelse}>> setpagedevice" \ 
    -f dean08mapreduce.pdf 

나를 위해 일했다.

관련 문제