Я пытаюсь использовать программу командной строки, convert
чтобы перевести PDF в изображение (JPEG или PNG). Вот один из PDF-файлов, которые я пытаюсь конвертировать.
Я хочу, чтобы программа убрала лишние пробелы и вернула изображение достаточно высокого качества, чтобы верхние индексы можно было легко прочитать.
Это моя лучшая попытка . Как видите, обрезка работает нормально, мне просто нужно немного повысить разрешение. Это команда, которую я использую:
convert -trim 24.pdf -resize 500% -quality 100 -sharpen 0x1.0 24-11.jpg
Я пытался принять следующие сознательные решения:
- изменить его размер больше (не влияет на разрешение)
- сделать качество как можно выше
- использовать
-sharpen
(я пробовал диапазон значений)
Любые предложения по получению разрешения изображения в финальном PNG / JPEG выше будут с благодарностью!
pdf
imagemagick
JBWhitmore
источник
источник
sips
, «системы обработки изображений скриптов». Это редактор изображений командной строки, встроенный в macOS, работающий с PDF-файлами и многими другими типами изображений.Ответы:
Похоже, что работает следующее:
Это приводит к левому изображению . Сравните это с результатом моей оригинальной команды ( изображение справа ):
(Чтобы действительно увидеть и оценить различия между ними, щелкните правой кнопкой мыши по каждому из них и выберите «Открыть изображение в новой вкладке ...» .)
Также имейте в виду следующие факты:
Таким образом, нет необходимости изменять размер; добавить
-density
флаг. Значение плотности 150 странно - попытка диапазона значений приводит к ухудшению изображения в обоих направлениях!источник
density
Параметр немного особенного в том , что в должен прийти прежде , чем входной файл. Так как PDF - векторный формат файла, который не имеет (большого) значения пикселей, он говорит что-то вроде «страница 8 на 12 дюймов». Если вы хотите использовать пиксель, используйтеdensity
настройку, чтобы указать, сколько пикселей на дюйм вы хотите получить в выводе. Например при 150 вы получите 8x150 = 1200 на 12x150 = 1800 пикселей в результирующем изображении. Это также количество пикселей, над которыми работают параметры повышения резкости, контраста, сжатия и т. Д.-flatten
.-density
и-flatten
возможность уменьшить размер PDF (в другой формат PDF).-flatten
Вариант действительно помогает в снижении общего размера. В моем случае без зрительных нарушений.-density
Флаг, скорее всего , даст худшие результаты на более высоких значениях , если качество исходного изображения было ниже , чем это.Лично мне это нравится.
Это немного в два раза больше размера файла, но для меня это выглядит лучше.
-density 300
устанавливает dpi, в котором отображается PDF.-trim
удаляет все краевые пиксели того же цвета, что и угловые пиксели.-quality 100
устанавливает высокое качество сжатия JPEG.Такие вещи
-sharpen
не очень хорошо работают с текстом, потому что они отменяют действия вашей системы рендеринга шрифтов, чтобы сделать их более четкими.Если вы действительно хотите, чтобы это было взорвано, используйте здесь изменить размер и, возможно, большее значение dpi, например,
targetDPI * scalingFactor
Это будет отображать PDF в том разрешении / размере, которое вы намереваетесь.Описания параметров на imagemagick.org здесь
источник
convert
как мы узнаем, сколько страниц было конвертировано?-sharpen
. Качество намного лучше, чем с настройками по умолчанию и более естественно, чем с-sharpen
.Я использую
pdftoppm
в командной строке исходное изображение, обычно с разрешением 300 точек на дюйм, аpdftoppm -r 300
затем используюconvert
обрезку и преобразование PNG.источник
pdftoppm
также может выводить JPEG и PNG.обычно я извлекаю внедренное изображение с помощью pdfimages в собственном разрешении, а затем использую преобразование ImageMagick в нужный формат:
это генерирует лучший и самый маленький файл результатов.
Примечание. Для встроенных изображений в формате JPG с потерями необходимо использовать -j:
С недавним poppler вы можете использовать -all, который сохраняет убытки как JPG и без потерь как PNG
На небольшой предоставляемой платформе Win вам пришлось загрузить недавний (0.37 2015 г.) бинарный файл poppler-util с http://blog.alivate.com.au/poppler-windows/
источник
pdftoppm
не сpdfimages
Я обнаружил, что он быстрее и стабильнее при пакетной обработке больших PDF-файлов в PNG и JPG с использованием базовой
gs
(также известной как Ghostscript) команды, котораяconvert
использует.Вы можете увидеть команду в выходных данных
convert -verbose
и есть еще несколько возможных настроек (YMMV), к которым трудно / невозможно получить прямой доступ черезconvert
.Тем не менее, было бы сложнее выполнять обрезку и заточку с использованием
gs
, так что, как я уже сказал, YMMV!источник
Это также дает вам хорошие результаты:
источник
Пользователь Linux здесь: я попробовал
convert
утилиту командной строки (для PDF в PNG), и я не был доволен результатами. Я нашел, что это было проще, с лучшим результатом:pdftk file.pdf cat 3 output page3.pdf
GIMP
Resolution
с100
на300
или600 pixel/in
GIMP
экспорте в формате PNG (изменить расширение файла на .png)Редактировать:
Добавлена картинка, как того требует
Comments
. Используемая команда преобразования:convert -density 300 -trim struct2vec.pdf -quality 100 struct2vec.png
GIMP
: импортируется с разрешением 300 точек на дюйм (пикс / дюйм); экспортируется как уровень сжатия PNG 3.Я не использовал GIMP в командной строке (см. Мой комментарий ниже).
источник
convert
. Я видел только часть этого ответаconvert
и ваш вопрос во время чтения вашего комментария по автоматизации. Спасибо за ваш ответ позже в этой теме, который я объединил с решением, с которым связался, и решил другую проблему, с которой столкнулся.У меня действительно не было хорошего успеха с
convert
[обновление мая 2020 года: на самом деле: он почти никогда не работает для меня], но у меня был ОТЛИЧНЫЙ успехpdftoppm
. Вот пара примеров создания высококачественных изображений из PDF:[Производит файлы размером ~ 25 МБ на pg] Выводит несжатый формат файла .tif с разрешением 300 DPI в папку с именем images, с файлами с именами pg-1.tif , pg-2.tif , pg-3.tif , и т.д:
[Производит файлы размером ~ 1 МБ на pg] Вывод в формате .jpg с разрешением 300 DPI :
[Производит файлы размером ~ 2 МБ на pg] Вывод в формате .jpg с высочайшим качеством (с наименьшим сжатием) и с разрешением 300 DPI :
Для более подробных объяснений, вариантов и примеров, смотрите мой полный ответ здесь:
/ubuntu/150100/extracting-embedded-images-from-a-pdf/1187844#1187844 .
Связанный:
pdf2searchablepdf
] /ubuntu/473843/how-to-turn-a-pdf-into-a-text-searchable-pdf/1187881#1187881источник
В ImageMagick вы можете делать «суперсэмплинг». Вы указываете большую плотность, а затем уменьшаете размер до желаемого для конечного выходного размера. Например с вашим изображением:
Загрузите изображение для просмотра в полном разрешении для сравнения.
Я не рекомендую сохранять в JPG, если вы ожидаете дальнейшей обработки.
Если вы хотите, чтобы размер выходного файла был таким же, как у входного, измените размер до величины, обратной отношению вашей плотности к 72. Например, -density 288 и -resize 25%. 288 = 4 * 72 и 25% = 1/4
Чем больше плотность, тем лучше полученное качество, но обработка займет больше времени.
источник
Еще одно предложение заключается в том, что вы можете использовать GIMP.
Просто загрузите файл PDF в GIMP-> сохранить как .xcf, и тогда вы сможете делать с изображением все, что захотите.
источник
Я использую icepdf java pdf движок с открытым исходным кодом. Проверьте офисную демонстрацию .
Я также попытался ImageMagick и pdftoppm , как pdftoppm и icepdf имеет высокое разрешение , чем ImageMagick.
источник
Пожалуйста, примите к сведению, прежде чем голосовать, это решение предназначено для Gimp, использующего графический интерфейс, а не для ImageMagick, использующего командную строку, но оно отлично работало для меня в качестве альтернативы, и поэтому я счел необходимым поделиться здесь.
Следуйте этим простым шагам, чтобы извлечь изображения в любом формате из документов PDF
Вот и все.
надеюсь, это поможет
источник
Прикрепленный файл PNG выглядит очень размыто. В случае, если вам нужно использовать дополнительную постобработку для каждого изображения, сгенерированного вами в режиме предварительного просмотра PDF, вы снизите производительность своего решения.
2JPEG может конвертировать PDF-файл, который вы вложили, в хороший JPG-файл и обрезать пустые поля одним вызовом:
источник
Используйте эту командную строку:
Это должно правильно конвертировать файл, как вы просили.
источник
Следующий скрипт на python будет работать на любом Mac (Snow Leopard и выше). Его можно использовать в командной строке с последовательными файлами PDF в качестве аргументов, или вы можете вставить действие Run Shell Script в Automator и создать сервис (Quick Action in Mojave).
Вы можете установить разрешение выходного изображения в скрипте.
Сценарий и Quick Action можно загрузить с GitHub.
источник
Вы можете сделать это в LibreOffice Draw (который обычно предустановлен в Ubuntu ):
источник
Я использовал pdf2image . Простая библиотека Python, которая работает как шарм.
Сначала установите poppler на машину, отличную от Linux. Вы можете просто скачать почтовый индекс. Разархивируйте в Program Files и добавьте bin в Machine Path.
После этого вы можете использовать pdf2image в классе Python следующим образом:
Я не очень хорошо разбираюсь в python, но смог сделать его лучше. Позже вы можете использовать исполняемый файл с входным и выходным параметром файла. Я использовал его в C # и все работает нормально.
Качество изображения хорошее. OCR работает отлично.
источник
Это на самом деле довольно легко сделать с Preview на Mac. Все, что вам нужно сделать, это открыть файл в режиме предварительного просмотра и сохранить как (или экспортировать) файл в формате png или jpeg, но убедитесь, что вы используете не менее 300 точек на дюйм в нижней части окна, чтобы получить изображение высокого качества.
источник