Как конвертировать PDF в изображение?

У меня есть требование конвертировать страницы PDF в изображения. Существует фоновое изображение с некоторым текстом, поэтому, когда я сохраняю это как изображение, только фоновое изображение сохраняется.

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

242 голоса | спросил Deependra Solanky 23 J0000006Europe/Moscow 2011, 14:16:02

10 ответов


230
  1. Установите imagemagick

  2. Использование терминала, на котором находится pdf:

    для полного документа

    convert -density 150 input.pdf -quality 90 output.png
    

    для одной страницы

    convert -density 150 input.pdf[666] -quality 90 output.png
    

    в результате чего:

    • Можно выбрать PNG, JPG или (практически) любой другой формат изображения
    • -density xxx установит dpi на xxx (общие - 150 и 300).
    • -quality xxx установит сжатие в xxx для форматов файлов PNG, JPG и MIFF (100 означает отсутствие сжатия).
    • [666] преобразует только 666 страниц в PNG
    • все другие параметры (такие как обрезка, оттенки серого и т. д.) можно просмотреть на веб-сайте Магия изображений .
ответил Binarylife 23 J0000006Europe/Moscow 2011, 14:25:14
269

Вы можете использовать pdftoppm для преобразования PDF в PNG:

pdftoppm input.pdf outputname -png

Это выводит каждую страницу в формате PDF с использованием формата outputname-01.png, причем 01 является индексом страницы.

Преобразование одной страницы PDF

pdftoppm input.pdf outputname -png -f {page} -singlefile

Измените {page} на номер страницы. Он индексируется в 1, поэтому -f 1 будет первой страницей.

Задание разрешения преобразованного изображения

Разрешение по умолчанию для этой команды - 150 DPI. Увеличение его приведет к большему размеру файла и более подробной информации.

Чтобы увеличить разрешение конвертированного PDF, добавьте опции -rx {resolution} и -ry {resolution}. Например:

pdftoppm input.pdf outputname -png -rx 300 -ry 300
ответил enzotib 23 J0000006Europe/Moscow 2011, 15:07:58
17

IIRC GIMP способен использовать PDF-файлы, то есть преобразовывать их в изображения. Поэтому, если вы хотите сразу отредактировать изображения - GIMP - ваш друг.

ответил tesseract 23 J0000006Europe/Moscow 2011, 14:29:39
9

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

Метод в ответе здесь приводит к результату, который сопоставим по размеру с входом и не делает не страдают от потери качества.

TLDR - используйте pdfimages: pdfimages -j input.pdf output

Указание связанного ответа:

  

Непонятно, что вы подразумеваете под «потерей качества». Это может означать много   разных вещей. Не могли бы вы разместить несколько примеров для иллюстрации?   Возможно, вырезать один и тот же раздел из низкого качества и хорошего качества   версии (в качестве PNG, чтобы избежать потери качества).

     

Возможно, вам нужно использовать -density для преобразования на более высоком уровне   дюйм:

convert -density 300 file.pdf page_%04d.jpg
     

(Вы можете добавить -units PixelsPerInch или -units PixelsPerCentimeter при необходимости. Моя копия по умолчанию равна ppi.)

     

Обновление: Как вы указали, gscan2pdf (способ, которым вы его используете), является просто оболочкой для pdfimages (от poppler ). pdfimages   не делает то же самое, что convert делает, когда предоставляется PDF как   вход.

     

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

     

pdfimages просматривает PDF-файлы для встроенных растровых изображений и   экспортирует каждый файл в файл. Он просто игнорирует любой текст или вектор   рисование команд в PDF.

     

В результате, если у вас есть PDF, это всего лишь оболочка вокруг   серия растровых изображений, pdfimages сделает намного лучшую работу по извлечению   их, потому что он дает вам необработанные данные в исходном размере. Вы   вероятно, также захотите использовать опцию -j для pdfimages, потому что   PDF может содержать необработанные данные JPEG. По умолчанию преобразуются pdfimages   все в формат PNM и преобразование JPEG> PPM> JPEG - это потеря   процесс.

     

Итак, попробуйте

pdfimages -j file.pdf page
     

Вам может понадобиться или не обязательно следовать этому примеру с помощью convert на .jpg   (в зависимости от формата растрового изображения, который использовался в PDF).

     

Я пробовал эту команду в PDF, который я сделал из последовательности   изображений JPEG. Выбранные файлы JPEG были байтами для байтов, идентичными   исходные изображения. Вы не можете получить более высокое качество, чем это.

ответил Anmol Singh Jaggi 12 MarpmSat, 12 Mar 2016 16:14:58 +03002016-03-12T16:14:58+03:0004 2016, 16:14:58
6

Если ваши PDF-файлы сканируются, изображения уже хранятся как часть PDF. вам просто нужно извлечь их с помощью pdfimages:

pdfimages my-file.pdf prefix 
ответил VitoshKa 18 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 18 Sep 2015 13:14:02 +0300 2015, 13:14:02
3

Чтобы получить одну страницу из gm convert, добавьте [N] (с номером страницы, начинающимся с 0), в имя PDF, то есть gm convert foo.pdf[11] out.png чтобы получить 12-ю страницу из PDF.

Для pdftoppm используйте -f N -singlefile, где N - номер страницы, начинающийся с 1, то есть pdftoppm -f 12 -singlefile foo.pdf out для того же результата. Кажется, что всегда всегда добавляется «.png» к имени выходного файла, и нет способа остановить это.

ответил user3080602 3 AMpFri, 03 Apr 2015 00:44:24 +030044Friday 2015, 00:44:24
2

Вы можете использовать преобразование и указать более высокую плотность с помощью параметра -density.

например. convert -d 300 foo.pdf bar.png

ответил Arjun 24 J000000Thursday14 2014, 06:23:37
1

Если вы хотите конвертировать определенную страницу PDF в PNG, вы можете передать pdftk в convert (, описанный выше ) следующим образом:

pdftk document.pdf cat 12 output - | convert - document-page-12.png
ответил IQAndreas 6 42014vEurope/Moscow11bEurope/MoscowThu, 06 Nov 2014 08:11:13 +0300 2014, 08:11:13
1

Мастер PDF Editor (версия 2.2) имеет этот вариант. Откройте файл PDF, а затем перейдите в File> Экспортировать в> Изображений. В нем представлено диалоговое окно, в котором вы можете определить различные параметры вывода. Очень полезно. Надеюсь, эта информация поможет.

ответил Rush 29 MonEurope/Moscow2014-12-29T01:42:54+03:00Europe/Moscow12bEurope/MoscowMon, 29 Dec 2014 01:42:54 +0300 2014, 01:42:54
0

PDF Mod также позволяет экспортировать изображения всех или отдельных страниц PDF-файлов.

  • Открыть PDF-файл в формате PDF.
  • Выберите страницу (ы) -
  • Изменить> Экспортировать изображение (ы)
ответил nhylated 15 TueEurope/Moscow2015-12-15T14:56:02+03:00Europe/Moscow12bEurope/MoscowTue, 15 Dec 2015 14:56:02 +0300 2015, 14:56:02

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132