Я хочу создать страницу php, которая конвертирует первую страницу PDF-файла в jpg-изображение. У меня есть этот код.
exec ('convert -density 300 "24.pdf" [0] "24-1.jpg"', $ output); print_r (array_values ($ выход));
Это не работает. Я тестировал следующий код (с командной строкой и php), и он работает хорошо. Exec ('DIR', $ output); print_r (array_values ($ выход)); // проверить команду
Exec ('convert', $ output); print_r (array_values ($ выход)); // проверить изображениеMagick
Exec ('convert -transverse 22.jpg 22-1.jpg', $ output); print_r (array_values ($ выход)); // для проверки функции imageMagick
Но когда я попробовал эту команду
Exec ('convert -transverse 22.pdf [0] 22-1.jpg', $ output); print_r (array_values ($ выход)); // для проверки функции imageMagick с pdf
Он не работает, но все вышеприведенные команды работают с командной строкой. Кажется, что imageMagik работает хорошо, но ghostscript имеет проблемы с php. Пожалуйста, скажите мне, почему ghostscript не работает с php.
Я использую Window 7 Ultimate, IIS7.5 и PHP 5.3. ImageMagick-6.8.7-Q16 ghostscript 9.10
Спасибо и приветствую Мохаммеда Шейха
в моем случае я попытался использовать imagmagick для извлечения первого изображения из PDF с помощью конвертирования, но он не работал, поэтому я использовал Ghostscript с приведенным ниже скриптом и отлично работает на веб-сервере:
gs -sDEVICE=jpeg -od:/output.jpg -dFirstPage=1 -dLastPage=1 -dNOPAUSE -dJPEGQ=100 -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -r150 -dUseCropBox -dUseTrimBox d:/input.pdf
Однако после тестирования многих ghostscript ver, даже последних, я узнал, что 9.06 является самым стабильным ghostscript ver
Попробуйте использовать это
exec("<full path to binary> '-dNOPAUSE' '-sDEVICE=jpeg' '-r<resolution>' '-g<dimensions' '-dUseCIEColor' '-dTextAlphaBits=4' '-dGraphicsAlphaBits=4' '-o<where you want the image stored>' '-dJPEGQ=<quality - I used 90>' '<pdf file to resize>'", $outputArray);
Если заполнители заполняются с использованием переменных, переменные, такие как $resolution
, просто идут прямо к команде, например -r$resolution
.