2013-06-07 3 views
1

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

Мое местное преобразование ниже.

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

Если я удалить [$page] из ехес он работает, но создает изображение на страницу, которая не то, что я хочу.

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

+1

В качестве опции - сделайте отдельные изображения так же, как и вы, а затем объедините их через imagemagic в один файл изображения. –

+0

Да, я просто использовал монтаж, чтобы все страницы отображались в одном изображении. Спасибо :) – Pooshonk

ответ

2

Ознакомьтесь с параметрами -append и + append.

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

Usage (http://linuxers.org/quick-tips/convert-pdf-file-single-image-using-imagemagick):

По этой ссылке, выход из многостраничного PDF convert в будет $ {Целевой_файл} -0.png, $ {} Целевой_файл -1.png, $ {Целевой_файл } -n.png и т.д. После того, как вы превратили PDF в несколько изображений, используйте -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/

+0

Мне удалось это исправить. Я подсчитал все страницы, преобразовал их все в изображения и использовал монтаж, чтобы поместить все новое изображение в одно. Это, однако, похоже на следующее, что я собирался попробовать. Я соглашусь с этим, спасибо – Pooshonk

+0

-flagend работал отлично! –

Смежные вопросы