Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
961 views
in Technique[技术] by (71.8m points)

resize - Resizing a PDF using Ghostscript

I am trying to scale a PDF which is for example just small of A4 size up to A4.

This works fine with portrait documents. The document is scaled up correctly and then padding is added to the top.

On landscape documents padding is not added though. Therefor the document will end up being the correct height for A4 but then not wide enough, as padding is not added on the document side (as I hoped).

This is what I use to have it working for A4 portrait documents:

gs 
 -sOutputFile=output.pdf 
 -sDEVICE=pdfwrite 
 -sPAPERSIZE=a4 
 -dCompatibilityLevel=1.4 
 -dNOPAUSE 
 -dBATCH 
 -dPDFFitPage 
  input.pdf
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You should add the -dFIXEDMEDIA switch:

gs 
 -o output.pdf 
 -sDEVICE=pdfwrite 
 -sPAPERSIZE=a4 
 -dFIXEDMEDIA 
 -dPDFFitPage 
 -dCompatibilityLevel=1.4 
  input.pdf

-dFIXEDMEDIA is always required if you need to force a specific paper/page/media size and ignore the paper/page/media size specified in the document. Because PDF always has a paper/page/media size defined (PostScript might have, or might not have...).

(My -o ... is shorter and saves one from adding -dBATCH -dNOPAUSE -- but works only for more recent versions of Ghostscript.)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...