До того, как я начал использовать Ubuntu, я использовал Nitro PDF Reader для автоматического извлечения изображений из PDF-файлов. Есть ли для этого средство чтения PDF для Linux?
Я хотел бы иметь возможность извлекать изображения быстрее / проще, чем при создании снимка.
pdfimages
pdfimages
- это инструмент для извлечения изображений PDF, который сохраняет изображения из файла PDF в формате файлов PPM, PBM, JPEG или JPEG 2000 .
Это часть пакета poppler-utils
, который вам необходимо установить.
Использование: pdfimages [options]
-all
извлекает изображения в исходном формате . -j
извлекает изображения как .jpg ( предостережение ]: изображения преобразуются и обычно имеют размер больше оригинала) Пример1: Следующее извлекает все изображения из файла PDF, сохраняя их в исходном формате.
pdfimages -all in.pdf /tmp/out
Пример2: Следующее извлекает все изображения из файла PDF, сохраняя их в формате JPEG.
pdfimages -j in.pdf /tmp/out
Сохраняет изображения из файла PDF in.pdf
в файлах /tmp/out-000.jpg
(или ] /tmp/out-000.pbm
; см. ниже), / tm p / out-001.jpg
и т. д.
На странице pdfimages объясняется:
-j: Normally, all images are written as PBM (for monochrome images) or PPM for
non-monochrome images) files. With this option, images in DCT format are
saved as JPEG files. All non-DCT images are saved in PBM/PPM format as usual.
Я часто использую для этого Inkscape. Загрузите страницу и удалите все остальное. Преимущество состоит в том, что вы можете получать векторные изображения в SVG и изменять их по своему усмотрению.
Я использую pdfimages, инструмент командной строки, и он отлично мне подходит. Он очень прост в использовании, и вы можете использовать параметр --help, чтобы узнать больше о его использовании. Я использую Ubuntu, и он предустановлен. Если ваши PDF-файлы зашифрованы или защищены паролем, для этого есть варианты, поэтому этот инструмент отлично работает. Вы можете прочитать подробнее о pdfimages здесь
У меня есть PDF-файл с двумя столбцами со встроенными изображениями, созданными с помощью LaTeX, где исходные изображения были предоставлены в формате EPS. Я попробовал предлагаемое решение на основе pdfimages
, но, к сожалению, оно не вернуло никаких изображений. Затем я попытался использовать Inkscape, но изображения SVG, которые он генерировал, были искажены, и мне также не удалось экспортировать их в формате EPS.
Программа, которая работала для нас, была MasterPdfEditor .
Вот процедура
Результат очень высокого качества, но программное обеспечение не бесплатно. Существует демонстрационная версия, которая «позволяет вам опробовать все функции», но поставляется с «добавлением водяного знака в выходной файл». Честно говоря, я не заметил водяных знаков в созданном PDF-документе.
Вы также можете попробовать pdfmod. Это графический интерфейс (GUI), который может извлекать изображения и выполнять другие базовые операции с PDF-файлами.
Если что вам нужно представляет собой обрезанное изображение в формате pdf / eps, затем извлеките страницу с изображением, используя pdfmod
(как предлагается To Do).
Затем, используя pdfcrop
, вы можете правильно обрезать его установка полей методом проб и ошибок:
pdfcrop --margins "-15 -50 0 -140" extracted_page.pdf
С изображениями PDF извлеченное изображение может состоять из двух или более частей. Простой способ собрать их снова, не беспокоясь об извлеченных форматах, - это импортировать части в LibreOffice Draw, обрезать с помощью диалогового окна кадрирования изображения, расположить части, настроить размер страницы и экспортировать в любой предпочтительный формат.
Если вы хотите вырезать изображение из pdf с помощью программы просмотра pdfviewer, вы можете попробовать okular. Он может обрезать что угодно (тексты или изображения) в формате png или jpeg. Если вы хотите извлечь изображения в формате png из pdf, вы можете сделать это с помощью минимальной команды с помощью pdftohtml. Он конвертирует PDF в HTML плюс изображения. Здесь вы можете найти пример - https://www.youtube.com/watch?v=CG1rf7k3xo8 . Если вы хотите извлечь много изображений из PDF, я предлагаю вам попробовать это.
Используемое программное обеспечение: Xreader ОС: Antergos
Шаги:
Обратите внимание, что этот вопрос конкретно касается «Извлечения встроенных изображений из PDF». Ключевое слово извлекает ! Это означает: у меня есть PDF-файл; в него встроены некоторые изображения ; как мне их достать !? Если это ваш вопрос, используйте pdfimages
в качестве основного ответа от @pl1nk, заявившего .
Многие люди ищут в Google и, приземлившись на этот вопрос (включая меня), тем не менее, ищут немного другой вопрос, даже не осознавая разницу до тех пор, пока спустя часы разочарования. Итак, если вместо этого вы ищете «Как преобразовать PDF в набор изображений» , что НЕ то же самое, что «как извлечь изображения из PDF»), вот как: используйте pdftoppm
. «PPM» здесь - это формат изображения , поэтому это просто означает «PDF в изображение». Он работает очень хорошо , хотя и медленно для современной многоядерной системы, поскольку это одноядерныймногопоточное приложение и не использует преимущества нескольких ядер вычислительной мощности.
Ubuntu 18.04 поставляется с pdftoppm
версии 0.62.0. Проверьте свою версию с помощью pdftoppm -v
:
$ pdftoppm -v
pdftoppm version 0.62.0
Copyright 2005-2017 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011 Glyph & Cog, LLC
Прочтите страницы руководства с помощью man pdftoppm
, чтобы увидеть все его многочисленные полезные функции.
Как показано на страницах руководства, pdftoppm
позволяет выводить изображения в следующих форматах:
-png
) -jpeg
) -tiff
) Он также позволяет указать вывод в монохромном режиме ( -mono
) или оттенки серого ( -gray
) (по умолчанию - цвет), чтобы указать номера страниц, поместить выходные изображения в папку, обрезать и изменить размер, указать разрешение, указать качество JPEG (от 0 до 100), укажите сжатие TIFF, обрабатывайте только страницы с четными или нечетными номерами и т. д. Это работает очень хорошо и ОЧЕНЬ ПОЛЕЗНО!
pdftoppm
для преобразования PDF в набор файлов изображений: Вывод файлов ppm как pg-1.ppm , pg-2ppm , pg -3.ppm и т. Д., Разрешение по x и y по умолчанию 150 DPI:
pdftoppm mypdf. pdf pg
То же, что и 1, за исключением того, что все выходные файлы помещаются в папку с именем images :
mkdir -p images && pdftoppm mypdf.pdf images / pg
[Мое избранное] Вывод изображений в папку «images» в формате jpeg с разрешением 300 dpi x & y вместо 150 dpi по умолчанию. Обратите внимание, что выходные изображения имеют некоторый уровень сжатия jpeg по умолчанию и занимают примерно 0,1 ~ 1 МБ на файл для разрешения 300 точек на дюйм и при условии стандартных страниц PDF 8,5 "x 11".
mkdir -p images && pdftoppm -jpeg -r 300 mypdf.pdf изображений / pg
Вывод изображений в папку «images» в формате jpeg с разрешением 300 DPI x & y с максимально возможным качеством jpeg уровнем! качество
значения могут находиться в диапазоне от 0 до 100. См. Справочные страницы. Если качество установлено на 100, а разрешение - на 300 точек на дюйм, ожидайте, что каждый файл jpeg будет занимать 2x хранилища, как указано выше , с размерами от ~ 0,2 до 2 МБ, в зависимости от содержимого, и при условии, что 8,5 дюймов x 11-дюймовые страницы PDF.
mkdir -p images && pdftoppm -jpeg -jpegopt quality = 100 -r 300 mypdf.pdf images / pg
Вывод несжатых изображений .tif * с разрешением ** 300 DPI x & y. Размеры выходного файла будут примерно 25 МБ для страниц с разрешением 300 точек на дюйм и PDF-страниц размером 8,5 x 11 дюймов.
mkdir -p images && pdftoppm -tiff -r 300 mypdf.pdf images / pg
Обратите внимание, что вывод каждой страницы выше с разрешением 300 точек на дюйм занимает 15–45 секунд на моем медленном компьютере, а это означает, что создание PDF-файла 100 страниц может занять до 100 x 45/60 = 75 минут или около того в течение Например, изображения в формате jpeg с разрешением 300 точек на дюйм.
Чтобы определить, сколько времени занимает процесс на вашем компьютере, просто поместите команду time
перед частью pdftoppm
любой из команд выше. Пример: вот результат преобразования 3-страничного PDF-файла:
$ mkdir -p images && time pdftoppm -tiff -r 300 testpdf.pdf images/pg
real 1m47.572s
user 1m45.675s
sys 0m1.536s
Это означает, что общее реальное время часов составило 1 мин 47,572 с, или 60 + ~ 48 = 108 секунд, что составляет 108/3 = 36 секунд на страницу.
pdf2searchablepdf
] Как превратить PDF в PDF с возможностью поиска по тексту?