ImageMagick:将图像转换为PDF,A4页面大小和图像适合页面

Mar*_*ala 23 imagemagick imagemagick-convert

我想将不同的图像格式(bmp,jpg,gif,png,tiff-incluging multipaged)转换为A4格式的PDF格式,并且图像适合页面(必要时调整大小).图像应位于页面的中心,我想定义一个偏移量.我尝试了下面的代码,但顶部没有偏移,图像质量非常差.

convert png.png -gravity North -resize 500x500 -quality 100 -page a4x5x5 myout.pdf
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

感谢任何帮助,Mariusz

JoK*_*uer 17

如果要保留原始分辨率(无损),可以尝试以下命令:

convert png.png -background white -page a4 myoutput.pdf
Run Code Online (Sandbox Code Playgroud)

基于之前发布的评论:https://stackoverflow.com/a/24573341/6747994

@ m4tx此命令仅在图片的分辨率高于500x800px时才有意义,它不会放大,以避免像素化缩略图.

  • 它似乎实际上没有高档小图像适合整个页面. (5认同)
  • 您需要指定“-密度”以避免使用“实际尺寸”打印时出现任何问题。/sf/answers/3858795881/ (3认同)
  • @Wok 使用 `-密度 72` 我得到一个比 A4 页还小的图像。如果我删除它,那么它就有正确的尺寸,即与 A4 页面相同。 (2认同)

Suk*_*aar 12

在stackoverflow上找到了这个:

convert *.jpg -resize 1240x1753 \
                      -extent 1240x1753 -gravity center \
                      -units PixelsPerInch -density 150x150 multipage.pdf
Run Code Online (Sandbox Code Playgroud)

  • -重力应该在-范围之前 (2认同)

Mar*_*ala 10

感谢ImageMagick支持论坛,我找到了一个解决方案:

convert image.tif -resize 575x823^> -gravity center -background white -extent 595x842 image.pdf
Run Code Online (Sandbox Code Playgroud)

如果您收到错误,请尝试:

convert image.tif -resize 595x842^\> -gravity center -background white -extent 595x842 image.pdf
Run Code Online (Sandbox Code Playgroud)

  • 谷歌搜索把我带到了这里,因为这个帖子的标题很普遍.对于简单的用途,选项`-page a4`自动做得很好:`convert file-pattern*.jpg -page a4 output.pdf` (18认同)
  • 你可能可以逃避>那样:-resize 575x823 ^ \> (3认同)
  • 我必须删除大小后的>以使其与zsh一起使用 (2认同)
  • 如果图像较小,并且您想调整其大小,请使用`-page 'A4<'`。 (2认同)

tol*_*ira 7

您可以使用ImageMagick转换为pdf

convert png.png myout.pdf
Run Code Online (Sandbox Code Playgroud)

但使用pdfjam而不是ImageMagick来调整页面大小

pdfjam --paper a4paper --outfile myoutA4.pdf myout.pdf
Run Code Online (Sandbox Code Playgroud)

pdfjam提供其他选项,可满足您的需求.

  • 谢谢,这是唯一对我有用的解决方案。将彩色 tiff 文件转换为 pdf 时,我必须使用 pdfjam 将图像大小固定为 A4 页面大小。 (2认同)

Wok*_*Wok 5

您需要指定密度:

convert -density 80 -page a4 input_A.jpg input_B.jpg output.pdf
Run Code Online (Sandbox Code Playgroud)

否则,使用“实际尺寸”而不是“适合”打印时可能会出现问题。我使用过公共打印机,无法选择“适合”而必须选择“实际尺寸”,在这种情况下打印的页面只是我想要打印的页面的一部分。

合身与实际尺寸