【发布时间】:2011-11-27 06:51:58
【问题描述】:
我正在使用 convert 版本 ImageMagick 6.6.2-6 2011-03-16,我想用它从图像生成 A4 pdf,其中图像将是非缩放和居中的.
我正在运行以下命令(作为 Overlaying Images with ImageMagick 的修改):
# generate a 100x100 JPG with just red color
convert -size 100x100 xc:red red.jpg
# generate PDF from JPG
convert -page A4 xc:white red.jpg -gravity center -composite -format pdf out.pdf
...但是,基本上什么都没有显示? png 图像也会发生同样的事情......
注意
- 只是 '
convert -page A4 red.jpg out.pdf' 有效 - 但图像未居中; (-gravity center导致图片不显示) - 如果图像是 png,'
convert -page A4 -gravity center red.png out.pdf' 确实可以正常工作
... 但是,我希望 convert 直接嵌入 JPEG 流的内容 - 因此,我不想先将 JPG 转换为 PNG。
那么,是否可以使用convert 将 JPG 图像直接置于 A4 PDF 页面的中心?
非常感谢您的任何回答,
干杯!
EDIT2:@John Keyes 回答适用于上述示例;图像比 PDF 大小“小”的地方 - 但是如果图像更大,例如:
$ convert -size 1228x1706 -background \#f44 -rotate 45 gradient:\#f00-\#fff red.jpg
$ identify red.jpg
red.jpg JPEG 2075x2075 2075x2075+0+0 8-bit DirectClass 120KB 0.000u 0:00.000
...那么它将失败。然而,事实证明:“if you change -extent to 50x50, then play with -gravity, you'll see changes”——除了,问题是:哪个你改变了图像的范围——还是最终 PDF 的范围?
好吧,事实证明 - 它是最终 PDF 的范围......要找到 convert 看到的大小,请检查页面:Magick::Geometry - 但是,请注意“Postscript 页面大小规范”不幸的是,就像“A4+43+43>”一样,导致convert 在这种情况下崩溃......但至少可以从页面复制大小(595x842)的相应数字;最后这行得通:
convert -page A4 -gravity center -resize 595x842 -extent 595x842 red.jpg out.pdf
...实际上,-extent 部分并不是真正需要的 - -resize 部分是显示大图的重要部分..
但是,这里的问题是包含的图像似乎被重新采样 - 但是,我只想显示它已缩放以适合页面,但希望将原始 JPG 流插入文件中。 .所以我猜这个问题仍然部分开放:)
编辑:相关:
- ImageMagick Gravity parameter - Stack Overflow
- ImageMagick and Geometry Issue - resizing with > - Stack Overflow
- command line - Resizing and croping images to an aspect ratio of 6x4 with width of 1024 pixels - Unix and Linux - Stack Exchange
- conversion - using imagemagick or ghostscript (or something) to scale PDF to fit page? - Stack Overflow
【问题讨论】:
标签: pdf imagemagick jpeg center