我正在使用convert
版本ImageMagick 6.6.2-6 2011-03-16,我想用它從圖像生成一張A4 pdf,圖像將以非縮放和居中方式生成。使用Imagemagick將.jpg圖像居中放置在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:@約翰凱斯答案適用於上面的例子;其中圖像比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
太棒了 - 非常感謝,@John Keyes!我可以發誓我已經用'-format pdf'嘗試了一些東西,但是我失敗了;但我正在嘗試你的第一個命令行,它效果很好! :)再次感謝 - 歡呼! – sdaau
不客氣。我已經多次下載了ImageMagick選項的兔子洞。 –
這不適用於大圖像(版本6.9.2),在我的情況下轉換5 MByte JPEG。它只是產生一個空白頁面。如果沒有「重心」選項,它當然可以工作,但不會居中。似乎是一個公開的問題:https://www.imagemagick.org/discourse-server/viewtopic.php?t = 22759 – mischka