Я использую convert
версию ImageMagick 6.6.2-6 2011-03-16, и я хотел бы использовать ее для создания PDF-файла формата А4 из изображения, где изображение будет немасштабировано и отцентрировано,
Я запускаю следующее (как модификацию Наложение изображений с 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
..., тогда оно не будет выполнено.Однако получается: « если вы измените -extent на 50x50, а затем поиграете с -gravity, вы увидите изменения » - за исключением вопроса: какой степени выизменить, что изображения - или что из окончательного 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 был вставлен в файл.Поэтому я думаю, что вопрос все еще частично открыт :)
РЕДАКТИРОВАТЬ: Связано: