Большую часть времени мне нравится помещать мой собственный скомпилированный материал в /opt
. Это - вид псевдостандартного места. Можно также рассмотреть /usr/local
, но я предпочитаю сохранять свой материал 100% изолированный.
Не ясно, что Вы подразумеваете "под качественной потерей". Это могло означать много разных вещей. Вы могли отправить некоторые образцы для иллюстрирования? Возможно, сократите тот же раздел из версий низкого качества и хорошего качества (как PNG для предотвращения дальнейшей качественной потери).
Возможно, необходимо использовать -density
сделать преобразование на уровне более высоких точек на дюйм:
convert -density 300 file.pdf page_%04d.jpg
(Можно предварительно ожидать -units PixelsPerInch
или -units PixelsPerCentimeter
при необходимости. Мои значения по умолчанию копии к пкс/дюйм)
Обновление: Поскольку Вы указали, 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
Вы можете или, возможно, не должны следовать за этим с a convert
кому: .jpg
шаг (в зависимости от того, что растровый формат PDF использовал).
Я попробовал эту команду на PDF, который я сделал сам из последовательности изображений JPEG. Извлеченные JPEGs были байтом для байта, идентичным исходным изображениям. Вы не можете получить более высокое качество, чем это.
Рассмотрение gscan2pdf исходного кода, я заметил, что это использует pdfimages. Так pdfimages file.pdf page
привел бы к page-001.ppm, page-002.ppm
и т.д.
То, что не ясно в Вашем вопросе, - говорите ли Вы о тексте и векторной графике в Вашем PDF, или содержит ли Ваш PDF встроенные изображения.
Считав, о чем gscan2pdf, мое предположение - то, что Ваши файлы PDF содержат (только) встроенную графику.
convert
по существу "печатает" Ваш PDF без отношений к тому, какой содержание. Как @cjm предлагает, Вы могли бы хотеть изменить плотность печати. Это - единственный способ увеличить качество для векторной графики.
Если вместо этого, то, что Вы хотите сделать, извлечь встроенные изображения (во многом как gscan2pdf, кажется, делает), предполагая, что плотность будет обычно приводить или к качественной потере или к более высокому качеству, чем необходимый (и трата дискового пространства). Ответ затем должен извлечь изображение, а не распечатать PDF. См. эту статью, которая в основном защищает использование pdfimages
для извлечения изображений без качественной потери.
ответ от @cjm корректен, но если Вы любите GUI и не хотите представлять все страницы PDF, только получать некоторое изображение, используйте калеку.
Откройте PDF с калекой, Вы получат окно импорта со всеми представленными страницами. Выберите любые страницы, Вы хотите и устанавливаете разрешение на 600 пкс/дюйм (я нашел 300, слишком много увеличивают резкость во многих случаях). Сохраните для форматирования Вас, хотят с "Файлом/экспортом"
Так или иначе должен быть флаг для выбора желаемых страниц из командной строки.
convert
у меня не работает . Однако этот(pdftoppm
)работает отлично. Каждая из приведенных ниже команд обеспечит существование каталога «images», создаст его, если это не так, и сохранит сгенерированные изображения в этом каталоге.
1200 точек на дюйм
mkdir -p images && pdftoppm -jpeg -r 1200 mypdf.pdf images/pg
600 точек на дюйм
mkdir -p images && pdftoppm -jpeg -r 600 mypdf.pdf images/pg
300 DPI (создает ~файлы размером 1 МБ -на страницу)
mkdir -p images && pdftoppm -jpeg -r 300 mypdf.pdf images/pg
300 DPI с наименьшим сжатием/максимальным качеством (создает файлы размером ~2 МБ -на страницу)
mkdir -p images && pdftoppm -jpeg -jpegopt quality=100 -r 300 mypdf.pdf images/pg
convert
также непрактично для большого PDFs. Например, потребовалось 45 ГБ памяти для обработки книги 700 страниц на 6 мегапикселей. Это также сопроводило в тысячу раз дольше, чемpdfimages
. – Camille Goudeseune 08.12.2015, 00:47