Ghostscript для сжатия пакета PDF-файлов

У меня нет опыта программирования.

Мои PDF-файлы не будут отображать изображения на iPad в PDFExpert или GoodNotes, так как изображения в формате JPEG2000, из того, что я мог найти в Интернете.

Это большие PDF-файлы, до 1500-2000 страниц с изображениями. Один из них был 80MB или около того файла. Я попытался распечатать его с помощью Foxit, чтобы преобразовать изображения в JPG из JPEG2000, но размер файла подскочил до 800 МБ... плюс это занимает слишком много времени.

Я наткнулся на Ghostscript, но понятия не имею, как использовать интерфейс командной строки.

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

Очень сожалею о моей неопытности и беспомощности. Может ли кто-нибудь накормить меня шагами для этого?

РЕДАКТИРОВАТЬ: Я хочу переключить JPEG2000 на любой другой формат, который производит меньше увеличение размера файла и вызывает минимальную потерю качества (в разумных пределах). Я понятия не имею, как использовать Ghostscript. Я хочу изменить сжатие изображений таким образом, чтобы оно отображалось правильно на iPad, сохраняя при этом качество остального текста, а также встроенных закладок.

Я повторю, что у меня НЕТ опыта работы с командной строкой... Я даже не знаю, как указать GS на папку, в которой находятся мои PDF-файлы...

1 ответ

Вы действительно не сказали, что вы хотите. Как конвертировать PDF-файлы?

Обратите внимание, что переключение с JPX (JPEG2000) на JPEG приведет к потере качества, поскольку данные изображения будут квантованы (с другой схемой квантования в JPX) с помощью кодера JPEG. Вместо этого вы можете использовать схему сжатия без потерь, но тогда вы не получите такой же тип сжатия. В любом случае вы не получите такой же коэффициент сжатия, как JPX, независимо от того, что вы используете, результат будет больше.

Простая команда Ghostscript будет выглядеть так:

gs -sDEVICE = pdfwrite -o out.pdf in.pdf

Поскольку кодировка JPEG2000 (или, по крайней мере, была) запатентована, устройство pdfwrite не записывает изображения как JPX<по умолчанию, оно будет записывать их несколько раз с различными схемами сжатия, а затем использовать ту, которая обеспечивает наилучшее сжатие (практически всегда JPEG).

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

[РЕДАКТИРОВАТЬ]

Что ж, предоставление помощи по выполнению командной строки немного не по теме для переполнения стека, это должен быть сайт для разработчиков программного обеспечения:-)

Не зная, какую операционную систему вы используете, трудно дать вам подробные инструкции, я также понятия не имею, что использует iPad, я обычно не использую устройства Apple, и мой единственный опыт - с Mac.

Предположительно вы знаете, где (каталог) вы установили Ghostscript. Либо откройте командную оболочку там и введите команду ./gs или выполните команду, указав полный путь, например:

/usr/bin/gs

Я думал, что аргументы в командной строке говорят сами за себя, но....

-sDEVICE=pdfwrite switch указывает Ghostscript использовать устройство pdfwrite, как можно догадаться из названия, это устройство записывает файлы PDF в качестве вывода.

-o switch - это имя (и полный путь, если требуется) выходного файла.

Последний аргумент - это имя (и снова полный путь, если его нет в текущем каталоге) входного файла.

Таким образом, команда может выглядеть так:

/usr/bin/gs -sDEVICE=pdfwrite -o /home/me/output.pdf /home/me/input.pdf

Или, если Ghostscript и входной файл находятся в одном каталоге:

./gs -sDEVICE=pdfwrite -o out.pdf input.pdf
Другие вопросы по тегам