Преобразование PDF в изображение с высоким разрешением
Я пытаюсь использовать программу командной строки convert чтобы взять PDF в изображение (JPEG или PNG). Вот это из СИЗО что я пытаюсь преобразовать.
Я хочу, чтобы программа обрезала лишнее белое пространство и вернула изображение достаточно высокого качества, чтобы надписи можно было легко читать.
Это мой ток!--12-->лучшая попытка. Как вы можете видеть, обрезка работает нормально, мне просто нужно заострить разрешение немного. Это команда, которую я использую:
convert -trim 24.pdf -resize 500% -quality 100 -sharpen 0x1.0 24-11.jpg
Я пытался принять следующие сознательные решения:
- изменить его размер больше (не влияет на разрешение)
- сделать качество как можно выше
- использовать
-sharpen(Я пробовал диапазон значений)
любые предложения, пожалуйста, при получении разрешения изображения в окончательном PNG / JPEG выше, будут очень признательны!
11 ответов:
похоже, что работает следующее:
convert \ -verbose \ -density 150 \ -trim \ test.pdf \ -quality 100 \ -flatten \ -sharpen 0x1.0 \ 24-18.jpgв результате левое изображение. Сравните это с результатом моей первоначальной команды (изображение справа):
(To действительно смотрите и цените различия между ними, щелкните правой кнопкой мыши на каждом и выберите "Открыть изображение в новой вкладке...".)
также имейте в виду следующие факты:
- худшее, размытое изображение справа имеет размер файла 1.941.702 байт (1.85 Мбайт). Его разрешение составляет 3060x3960 пикселей, используя 16-битное цветовое пространство RGB.
- лучшее, четкое изображение слева имеет размер файла 337.879 байт (330 кбайт). Его разрешение составляет 758x996 пикселей, используя 8-битное серое цветовое пространство.
итак, не нужно изменять размер; добавьте
-densityфлаг. Значение плотность 150-это странно-пытаться диапазон значений приводит к ухудшению изображения в обоих направлениях!
лично мне это нравится.
convert -density 300 -trim test.pdf -quality 100 test.jpgэто немного больше, чем в два раза размер файла, но это выглядит лучше для меня.
-density 300задает dpi, на котором отображается PDF.
-trimудаляет все краевые пиксели, которые имеют тот же цвет, что и угловые пиксели.
-quality 100устанавливает высокое качество сжатия JPEG.такие вещи, как
-sharpenне работают хорошо с текстом, потому что они отменяют то, что сделала ваша система рендеринга шрифтов сделать его более разборчивым.если вы действительно хотите, чтобы он взорвался, используйте resize здесь и, возможно, большее значение dpi чего-то вроде
targetDPI * scalingFactorэто будет отображать PDF в разрешении / размере, который вы намереваетесь.описания параметров на imagemagick.org are здесь
я нашел его быстрее и стабильнее при пакетной обработке больших PDF-файлов в PNGs и JPGs для использования базового
gs(Он же Ghostscript) команда, чтоconvertиспользует.вы можете увидеть команду в выводе
convert -verboseи есть еще несколько возможных настроек там (YMMV), которые трудно / невозможно получить доступ непосредственно черезconvert.однако было бы сложнее сделать обрезку и заточку с помощью
gs, Так что, как я уже сказал, YMMV!
Я использую
pdftoppmв командной строке, чтобы получить исходное изображение, как правило, с разрешением 300dpi, такpdftoppm -r 300, а затем использоватьconvertдля выполнения обрезки и преобразования PNG.
обычно я извлекаю встроенное изображение с помощью "pdfimages" в собственном разрешении, а затем использую преобразование ImageMagick в нужный формат:
$ pdfimages -list fileName.pdf $ pdfimages fileName.pdf fileName # save in .ppm format $ convert fileName-000.ppm fileName-000.pngэто создает лучший и самый маленький файл результатов.
Примечание: для встроенных изображений JPG с потерями вы должны были использовать -j:
$ pdfimages -j fileName.pdf fileName # save in .jpg formatс недавним poppler вы можете использовать-все, что сохраняет потери как jpg и без потерь как png
на небольшой предоставленной платформе Win вам нужно было загрузить недавний (0.37 2015) 'poppler-util' двоичный из: http://blog.alivate.com.au/poppler-windows/
Это также дает вам хорошие результаты:
exec("convert -geometry 1600x1600 -density 200x200 -quality 100 test.pdf test_image.jpg");
еще одно предложение заключается в том, что вы можете использовать GIMP.
просто загрузите PDF-файл в GIMP - > сохранить как .xcf и тогда вы можете делать все, что вы хотите изображение.
файл PNG, который вы прикрепили, выглядит очень размытым. В случае, если вам необходимо использовать дополнительную пост-обработку для каждого изображения, созданного в качестве предварительного просмотра PDF, вы уменьшите производительность вашего решения.
2JPEG можно конвертировать PDF файл, который вы прикрепили к хорошей резкости JPG и обрезать пустые поля в одном вызове:
2jpeg.exe -src "C:\In\*.*" -dst "C:\Out" -oper Crop method:autocrop
пользователь Linux здесь: я попробовал
convertутилита командной строки (для PDF в PNG), и я не был доволен результатами. Я нашел это проще, с лучшим результатом:
- извлеките страницы pdf с помощью pdftk
- например:
pdftk file.pdf cat 3 output page3.pdf- откройте (импортируйте) этот pdf с помощью
GIMP
- важно: изменить импорт
ResolutionС100до300или600 pixel/in- на
GIMPэкспорт в формате PNG (изменить расширение файла.png)Edit:
добавлена картинка, как просили в
Comments. Используется команда Convert:
convert -density 300 -trim struct2vec.pdf -quality 100 struct2vec.png
GIMP: импортируется с разрешением 300 dpi (px/in); экспортируется как уровень сжатия PNG 3.Я не использовал GIMP в командной строке (см. Мой комментарий ниже).
Это на самом деле довольно легко сделать с Preview на Mac. Все, что вам нужно сделать, это открыть файл в режиме предварительного просмотра и сохранить как (или экспортировать) png или jpeg, но убедитесь, что вы используете по крайней мере 300 точек на дюйм в нижней части окна, чтобы получить изображение высокого качества.
используйте эту командную строку:
convert -geometry 3600x3600 -density 300x300 -quality 100 TEAM\ 4.pdf team4.pngЭто должно правильно преобразовать файл, как вы просили.




Comments