Я использую convert
версию ImageMagick 6.6.2-6 2011-03-16, и я хотел бы использовать его для создания A4 pdf из изображения, где изображение не будет масштабировано и центрировано.
Я использую следующее (как модификацию наложения изображений с помощью 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
' работает - но изображение не центрировано ; ( -центр гравитации
приводит к тому, что изображение не отображается ) convert -page A4 -gravity center red.png out.pdf
' действительно работает нормально ... однако я бы хотел convert
, чтобы напрямую встроить содержимое потока JPEG - следовательно, я не хотел бы сначала преобразовывать JPG в PNG.
Итак, можно ли использовать convert
для центрирования изображения JPG непосредственно на странице PDF формата A4?
Большое спасибо заранее для любых ответов,
Ура!
РЕДАКТИРОВАТЬ2: ответ @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
... тогда оно не сработает.Однако оказывается: « если вы измените -extent на 50x50, а затем поиграете с -gravity, вы увидите изменения » - за исключением того, что вопрос: какой размер вы изменить, изображение или окончательный PDF-файл?
Что ж, оказывается - это размер окончательного PDF-файла ... Чтобы узнать этот размер, как его видит convert
, проверьте страницу: Magick :: Geometry - однако обратите внимание, что «спецификации размера страницы Postscript», такие как « A4 + 43 + 43>
», к сожалению, вызывают сбой convert
в этом контексте ... Но, по крайней мере, соответствующие числа для размера (595х842) можно копировать со страницы; и, наконец, это работает:
convert -page A4 -gravity center -resize 595x842 -extent 595x842 red.jpg out.pdf
... и на самом деле часть -extent
на самом деле не нужна - часть -resize
важна для отображения большого изображения. .
Однако проблема здесь в том, что включенное изображение кажется повторно дискретизированным - однако я просто хотел бы показать его масштабированным, чтобы оно соответствовало странице, но в противном случае хотелось бы, чтобы исходный поток JPG был вставлен в файл. ..Так что, я думаю, вопрос все еще частично открыт :)
РЕДАКТИРОВАТЬ: Связано: