ImageMagick - конвертировать многостраничный PDF в одно изображение

Я использую ImageMagick для преобразования файлов PDF в изображения. Однако некоторые PDF-файлы содержат несколько страниц, что становится настоящей проблемой.

Мой местный новообращенный ниже.

exec("\"C:\\Program Files (x86)\\ImageMagick-6.8.5-Q16\\convert.exe\" -density 300 -quality 75 \"{$path}{$filename}{$ext}[$page]\" \"{$targetFile}\"");

Если я удаляю [$page] из exec, он работает, но создает изображение на странице, а это не то, что мне нужно.

Я искал какое-то время, и у меня закончились надежда и идеи. Есть ли способ получить все новые изображения в одно окончательное изображение или преобразовать PDF прямо в одно изображение? Любая помощь будет принята с благодарностью, ура.


person Pooshonk    schedule 07.06.2013    source источник
comment
Как вариант - сделать отдельные образы как у вас, потом слить их через imagemagic в один файл изображения.   -  person    schedule 07.06.2013
comment
Да, я просто использовал монтаж, чтобы собрать все страницы в виде изображений в одно изображение. Спасибо :)   -  person Pooshonk    schedule 07.06.2013


Ответы (1)


Проверьте параметры -append и +append.

-append добавляет изображения по вертикали, а +append — по горизонтали.

Использование (http://linuxers.org/quick-tips/convert-pdf-file-single-image-using-imagemagick):

Согласно этой ссылке, вывод из многостраничного PDF-файла convert будет иметь вид ${targetFile}-0.png, ${targetFile}-1.png, ${targetFile}-n.png и т. д. После преобразования pdf на несколько изображений, используйте опцию -append или +append:

convert ${targetFile}-* -append single_image.png

Чтобы собрать все вместе, попробуйте что-то вроде этого (возможно, вам придется немного поиграть с этим; я не использовал Imagemagick из оболочки Windows):

// convert pages of pdf

exec("\"C:\\Program Files (x86)\\ImageMagick-6.8.5-Q16\\convert.exe\" -density 300 -quality 75 \"{$path}{$filename}{$ext}\" \"{$targetFile}\"");

// then append them

exec("\"C:\\Program Files (x86)\\ImageMagick-6.8.5-Q16\\convert.exe\" \"{$targetFile}-*\" -append "${someName}\"");

Дополнительные ресурсы:

http://www.imagemagick.org/script/command-line-options.php#append

http://www.imagemagick.org/Usage/layers/

person Tayler    schedule 07.06.2013
comment
Мне удалось исправить это самостоятельно. Я посчитал все страницы, преобразовал их все в изображения и использовал монтаж, чтобы объединить все новые изображения в одно. Однако это похоже на следующую вещь, которую я собирался попробовать. Я приму это, спасибо - person Pooshonk; 07.06.2013