如何使用ImageMagick控制PDF纸张尺寸?

时间:2012-07-27 17:57:14

标签: linux pdf imagemagick

我有16个jpg文件,大约920x1200像素(宽度略有不同,但高度都是1200)。我正在尝试将它们加入到pdf中:

convert *.jpg foo.pdf

但最终的纸张尺寸为1.53x2英寸。如果我传递参数-page Letter,页面大小最终会是一个令人困惑的1.02x1.32英寸。这里出了什么问题?我能找到的所有信息都表明这应该有效。我只想要一个由16个字母大小的页面组成的文档。

3 个答案:

答案 0 :(得分:22)

这个问题很老了,但我遇到了类似的问题,我认为我找到了解决方案。

-page选项的文档说“此选项与-density协同使用”,但选项之间的关系似乎有点不清楚,可能是因为文档适用于光栅图像。

通过试验设置,我发现可以通过组合-page -density和-units来控制pdf页面大小。 documentation for -page显示该字母与输入612 x 792相同。将-density 72与-units pixelsperinch组合将为您提供(612px / 72px)* 1in = 8.5in。

convert *.jpg -units pixelsperinch -density 72 -page letter foo.pdf应该做原始海报想要的。

答案 1 :(得分:8)

对于Letter,您需要将大小指定为792x612 PostScript点。因此尝试这个命令:

 convert \
    in1.jpg \
    in2.jpg \
    in3.jpg \
    in4.jpg \
    in5.jpg \
   -gravity center \
   -resize 792x612\! \
    letter.pdf

适用于Mac OS X上的ImageMagick版本 6.7.8-3 2012-07-19 Q16

identify -format "%f[%s] :  %W x %H\n" letter.pdf
  letter.pdf[0] :  792 x 612
  letter.pdf[1] :  792 x 612
  letter.pdf[2] :  792 x 612
  letter.pdf[3] :  792 x 612
  letter.pdf[4] :  792 x 612

或者

pdfinfo -f 1 -l 5 letter.pdf 
  Title:          _
  Producer:       ImageMagick 6.7.8-3 2012-07-19 Q16 http://www.imagemagick.org
  CreationDate:   Fri Jul 27 22:28:00 2012
  ModDate:        Fri Jul 27 22:28:00 2012
  Tagged:         no
  Form:           none
  Pages:          5
  Encrypted:      no
  Page    1 size: 792 x 612 pts (letter)
  Page    1 rot:  0
  Page    2 size: 792 x 612 pts (letter)
  Page    2 rot:  0
  Page    3 size: 792 x 612 pts (letter)
  Page    3 rot:  0
  Page    4 size: 792 x 612 pts (letter)
  Page    4 rot:  0
  Page    5 size: 792 x 612 pts (letter)
  Page    5 rot:  0
  File size:      178642 bytes
  Optimized:      no
  PDF version:    1.3

答案 2 :(得分:8)

我刚刚成功了 convert file.mng -page letter file.pdf