2010-09-11 1 views
6

Я хочу создать эскизы из PDF-файлов, чтобы иметь возможность отображать короткий просмотр файла PDF на веб-сайте.Как создать эскизы/скриншоты из файлов PDF на моем Linux-сервере?

Я попробовал это с помощью ImageMagick. К сожалению, результаты не очень приятны. Полученные изображения очень нечеткие.

Пример эскиза (нечеткий):

Bildschirmfoto 2010-09-11 um 22.57.49.png

Оригинал PDF: (см комментарий)

Команда: convert -thumbnail x800 k.pdf[0] test.png

Является ли моя команда новообращенный неправильно или вы знаете какой-либо лучший путь, достигая моя цель?

+0

Оригинал PDF: http://cl.ly/2aaeab1848c0fc5db5ce – Norwald2

ответ

5

Ваш оригинал pdf меньше, чем созданный вами миниатюра. Imagemagick масштабирует изображение в соответствии с запрошенными размерами. Используйте следующие параметры:

convert -scale '800x800+0+0>' -colorspace rgb -strip in.pdf[0] out.png 

Задний > в параметре шкалы говорит Imagemagick, чтобы не масштабировать изображение больше, чем оригинал.

Редактировать: Imagemagick использует Ghostscript для рендеринга PDF-файлов. Вы можете использовать Ghostscript напрямую, если вам нужно установить некоторые параметры, такие как разрешение, чтобы получить лучшее изображение. Разрешение по умолчанию - 72 DPI, что означает, что бумага формата A4 имеет размер 595 x 841 пиксель. С 150 DPI вы получите вдвое больше пикселей. Например.

gs -q -dBATCH -dNOPAUSE -sDEVICE=pngalpha -dMAxBitmap=500000000 -dAlignToPixles=0 -dGridFitTT=0 -r150x150 -sOutputFile=out.png in.pdf 

Эта команда почти идентична той, которую использует Imagemagick. Обратите внимание на параметр -r, который устанавливает разрешение 150 DPI. Вы можете использовать ImageMagick для масштабирования полученного изображения до меньшего размера.

Использование более высокого разрешения уменьшит нечеткость при изменении размера изображения.

+0

Спасибо! Но все еще есть огромная разница. PDF: http://cl.ly/2aafb79d30d263fe783b Изображение: http://cl.ly/f76642c45fbd45532789 – Norwald2

+0

Я обновил ответ командой GS, чтобы получить изображение с более высоким разрешением из вашего pdf. Обратите внимание, что сжатие PDF и результирующее изображение имеют разный размер. Если я преобразую первое изображение в ту же ширину, что и второе изображение, получившееся изображение одинаково нечеткое. Вы можете уменьшить нечеткость (некоторые), используя исходное изображение с более высоким разрешением. Это также помогает, если вы будете создавать изображения с разрешением 800 пикселей, так как A4 при 72 DPI составляет 595 пикселей. – jmz

3

Вы можете просто использовать Документы Google.

https://docs.google.com/viewer?a=bi&pagenumber=1&url=http://.../sample.pdf 
+0

очень круто, работает с файлами rtf/doc –