Преобразование PDF в изображение с высоким разрешением



Я пытаюсь использовать программу командной строки convert чтобы взять PDF в изображение (JPEG или PNG). Вот это из СИЗО что я пытаюсь преобразовать.



Я хочу, чтобы программа обрезала лишнее белое пространство и вернула изображение достаточно высокого качества, чтобы надписи можно было легко читать.



Это мой ток!--12-->лучшая попытка. Как вы можете видеть, обрезка работает нормально, мне просто нужно заострить разрешение немного. Это команда, которую я использую:



convert -trim 24.pdf -resize 500% -quality 100 -sharpen 0x1.0 24-11.jpg


Я пытался принять следующие сознательные решения:




  • изменить его размер больше (не влияет на разрешение)

  • сделать качество как можно выше

  • использовать -sharpen (Я пробовал диапазон значений)


любые предложения, пожалуйста, при получении разрешения изображения в окончательном PNG / JPEG выше, будут очень признательны!

654   11  

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 в командной строке (см. Мой комментарий ниже).

pdf2png

enter image description here

Это на самом деле довольно легко сделать с Preview на Mac. Все, что вам нужно сделать, это открыть файл в режиме предварительного просмотра и сохранить как (или экспортировать) png или jpeg, но убедитесь, что вы используете по крайней мере 300 точек на дюйм в нижней части окна, чтобы получить изображение высокого качества.

используйте эту командную строку:

convert -geometry 3600x3600 -density 300x300 -quality 100 TEAM\ 4.pdf team4.png

Это должно правильно преобразовать файл, как вы просили.

Comments

    Ничего не найдено.