Как сжать pdf в linux

Обновлено: 04.07.2024

Когда это откроется, выберите элемент проводного соединения, нажав кнопку редактирования (cog). В этом меню перейдите на вкладку IPv4 и выберите метод: «общий доступ к другим компьютерам», сохраните все и подключите кабель, если вы этого еще не сделали.

Используйте следующую команду ghostscript:

-dPDFSETTINGS=/screen более низкое качество, меньший размер. -dPDFSETTINGS=/ebook для лучшего качества, но немного большего формата pdf. -dPDFSETTINGS=/prepress, аналогичный настройке Acrobat Distiller «Prepress Optimized» -dPDFSETTINGS=/printer, выбирает вывод, аналогичный настройке Acrobat Distiller «Оптимизация печати» -dPDFSETTINGS=/default, выбирает вывод, предназначенный для использования в самых разных целях, возможно, за счет больший выходной файл

Можно также сделать скрипт Nautilus для доступа к этой функции для каждого файла. – Sina 7 May 2013 в 20:51 Это должен быть принятый ответ. ghostscript - реализация PDF, XPS и PS для униформ и может делать в основном все, обеспечивая наилучшее качество . – dom0 2 October 2013 в 22:27

Мой любимый способ сделать это - преобразовать PDF в ps и обратно. Это не всегда работает, но когда он работает, результаты хороши:

Это также напрямую работает с pdf, как это предлагается в комментариях.

Это очень простой и эффективный способ сделать это. Я был удивлен, увидев, насколько этот метод сжал файлы. Спасибо вам! – Gabriel 8 April 2013 в 17:59 Несмотря на то, что этот подход стал моим любимым решением для сжатия pdf-файлов, он разбивает URL-ссылки, которые может иметь документ (что не происходит с подходом @Michael D). Кроме того, удивительность - это все, что я могу придумать для запуска этого фрагмента! (: – Rubens 6 December 2013 в 17:01 @Rubens Ах. Не знал о том, что он нарушает ссылки на URL. Спасибо, что добавил. – don.joey 6 December 2013 в 18:19 ps2pdf будет принимать pdf-файлы в качестве входных данных, поэтому вы можете сделать это за один шаг: ps2pdf intput.pdf output.pdf – frabjous 1 September 2016 в 22:19

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

Настройте плотность (например, 100x100) и качество в соответствии с вашими потребностями.

В зависимости от вашего ввода jpeg плотность может не быть лучший выбор из-за артефактов сжатия. У вас есть выбор между BZip, Fax, Group4, JPEG, JPEG2000, Lossless, LZW, RLE или Zip в качестве альтернативных методов сжатия (некоторые из них допускают только черно-белые изображения). Подробнее см. Здесь.

Я смог добиться больших коэффициентов сжатия для отсканированных / сфотографированных документов (в зависимости от настроек). В зависимости от источника документа вы можете уменьшить глубину цвета (аргумент -depth).

Для отсканированного документа, в котором текст интересует вас, а не изображения, и сохранение глубины не является проблемой, jpeg-сжатие не является хорошей идеей, потому что артефакты имеют тенденцию быть чрезвычайно заметными. Если вы используете pdfimages input.pdf pages для извлечения файлов pbm, вы можете сделать что-то вроде: for page in *.pbm; do convert $page -compress Group4 -type bilevel TIFF:- | convert - output.pdf. Любое OCR будет потеряно, поэтому я обычно делаю pdfsandwich output.pdf, что, судя по всему, уменьшает размер файла. – Brian Z 4 May 2015 в 14:57 @BrianZ уверен, что сжатие jpeg не всегда является лучшим выбором, но для меня это был лучший подход для документов смешанного типа. Я добавил некоторые сведения о других методах сжатия для ответа. – someonr 7 May 2015 в 02:43 Этот метод в конечном счете использует gs за кулисами. – alfC 12 June 2015 в 07:55 Мне пришлось использовать двойную тире для параметров для запуска команды --density --quality --compress vs -density -quality -compress. – Rotareti 10 November 2016 в 22:22 Если qaulity изображения не является наивысшей проблемой (и вы просто хотите, чтобы это прикрепленное письмо электронной почты было достаточно маленьким для отправки), можно добавить -resize 50% тоже, изменить процент в зависимости от того, сколько DPI было использовано во время сканирования – chrki 11 January 2017 в 04:45

Мне нужно было уменьшить размер PDF, который содержал полноцветные проверки документа. Каждая из моих страниц была полноцветным изображением в отношении файла. Это были изображения страниц, содержащих текст и изображения, но они были созданы путем сканирования на изображение.

Я использовал комбинацию ниже приведенной команды ghostscript и одну из другого потока.

Это уменьшило разрешение изображения до 150 точек на дюйм, сократив размер файла пополам. Глядя на документ, практически нет заметной потери качества изображения. Текст по-прежнему прекрасно читается в моем 2012 Nexus7.

Вот сценарий для перезаписи отсканированных PDF-файлов:

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

Спасибо, Оли. На данный момент вы почти полностью ответили на все, о чем я просил: -D – Rob Cowell 1 September 2010 в 13:15 Это хороший ответ, но в моем случае, по крайней мере, требуется много времени, чтобы конвертировать несколько большой (& gt; 10 МБ) файл PDF (более минуты). – Gabriel 13 June 2013 в 00:20 Я не уверен, что происходит, но 30 МБ PDF дает файл размером 68 МБ. Вместо того, чтобы уменьшать, он увеличивается. Тот же вывод, если используется непосредственно ps2pdf, как указано в следующем ответе. – Ed Villegas 23 June 2013 в 23:08

Я обычно использую ps2pdf для этого (более простой синтаксис), что-то вроде этого:

Я использую следующий скрипт python, чтобы уменьшить размер всех файлов PDF в каталоге в производстве сервера (8.04). Поэтому он должен работать.

Спасибо за альтернативное решение. Сначала я попробовал Оли, и он дал мне результат, который мне нужен, но я буду держать его в будущем. – Rob Cowell 1 September 2010 в 13:17 -dPDFSETTINGS = / параметр принтера делает 50% изменение размера. ebook делает изменение на 90%. – neouyghur 13 April 2018 в 09:08 Я использую LibreOffice Draw, чтобы открыть pdf. Затем «export as pdf» и установите «качество сжатия JPEG» на 50% и «разрешение изображения» на 150 точек на дюйм

. Это будет хорошим результатом.

Худшее возможное решение проблемы! Это полностью испортило мой файл! – ThatIs 15 January 2018 в 20:31

Я сам столкнулся с этой проблемой. Если вы используете простое сканирование, выберите текстовый режим для сканирования с низким разрешением, и вам не придется беспокоиться о материале командной строки. Просто говорю.

Это единственный ответ в этой теме, который решил мою проблему. Я преуменьшил Simplescan, но для меня это был ответ, вместо того, чтобы сражаться с Xsane в бесконечной агонии. – versvs 31 August 2015 в 19:03

Лучший для меня был

Отличное решение. Легко запомнить, и он принес мой pdf от 32 до 3,5 МБ без разумной потери в удобочитаемости. – Immanuel Weihnachten 17 March 2018 в 13:57

Поскольку эта ссылка была первой для меня, когда я искал в Google, я думал, что добавлю еще одну возможность. Ни одно из вышеперечисленных решений не работало для меня на pdf, экспортированном из Inkscape (15 мб), но я, наконец, смог сократить его до 1 мб, открыв его в GIMP и снова экспортируя в формате pdf.

Другой вариант, который пришел близко (но текст был немного нечетким), был утилитой преобразования ImageMagick:

Я предполагаю, что это то, что вы имели в виду под «небольшим нечетким», но просто для того, чтобы уточнить, convert -compress Zip, казалось, растрировал все векторы. – Sparhawk 22 February 2015 в 07:39

Управление качеством сжатия:

. так что оба INPUT и OUTPUT являются тем же самым аргументом? Возможно, вы захотите добавить рекомендации по использованию. – mikewhatever 2 April 2016 в 14:46 Обратите внимание на shift. Первый параметр - это входной файл, второй - выходной файл, а остальные параметры будут переданы в gs как есть. – Mikko Rantalainen 13 May 2016 в 15:53 Я думаю, вы хотите / HSample s и / VSample s , а не / HSample и / VSample. См. ps2pdf docs или справочное руководство по языку PostScript. Также, возможно, стоит отметить, что допустимый диапазон QFactor составляет от 0 до 1000000, а более низкие значения дают более высокое качество. – Pont 2 August 2017 в 11:31

Если преобразование в djvu также было бы нормально, и если бы не были задействованы цвета, вы могли бы попробовать следующее:

Преобразовать файлы pdf в jpg с помощью pdfimages -j

Если вы вместо этого вы должны сделать промежуточный шаг:

for FILENAME in $(ls *.pbm); do convert $FILENAME $.jpg ;done

Команда convert из пакета imagemagick.

Затем используйте scantailor для создания tif из него.

На последнем шаге вы переходите к сценаристам из директории (где расположены файлы tif) и применяете scantailor к этому каталогу.

Это должно значительно уменьшить размер файла без потери качества текста. Если вы хотите более тонкий контроль над ocr-backend, вы можете попробовать djvubind --no-ocr и использовать ocrodjvu для добавления ocr-слоя впоследствии.

Если у вас есть цвет в документе, все становится немного сложнее. Вместо djvubind вы можете использовать didjvu и в scantailor вы должны перейти в смешанный режим и выбрать иногда цветные изображения вручную.

Favorite

Добавить в избранное

Как сжать PDF в Linux [GUI & Терминал]

В этой статье вы узнаете, как уменьшить размер PDF-файла в Linux. Обсуждены два варианта: командная строка и методом GUI.

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

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

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

В этой статье мы покажем вам, как уменьшить размер файлов PDF в Linux.

Способ 1: уменьшить размер файла PDF с помощью командной строки в Linux

Вы можете использовать инструмент командной строки Ghostscript для сжатия файла PDF. Большинство дистрибутивов Linux уже содержат версию Ghostscript с открытым исходным кодом. Тем не менее, вы все равно можете попробовать установить ее, просто чтобы убедиться.
В дистрибутивах на основе Debian/Ubuntu используйте следующую команду для установки Ghostscript:

Теперь, когда вы убедились, что Ghostscript установлен, вы можете использовать следующую команду, чтобы уменьшить размер вашего PDF-файла:

В приведенной выше команде вы должны добавить правильный путь для входного и выходного файла PDF.

Команда выглядит страшно и запутанно. Мы советуем копировать и вставлять большую часть. Что вам нужно знать, так это параметр dPDFSETTINGS. Это то, что определяет уровень сжатия и, следовательно, качество вашего сжатого файла PDF.

dPDFSETTINGS Описание
/prepress (по умолчанию) Более высокое качество изображения (300 точек на дюйм), но больший размер
/ebook Вывод среднего качества (150 точек на дюйм) с умеренным размером выходного файла
/screen Более низкое качество вывода (72 dpi), но минимально возможный размер выходного файла

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

Способ 2. Сжатие PDF-файлов в Linux с помощью инструмента с графическим интерфейсом

Мы понимаем, что не всем удобно пользоваться инструментом командной строки. А PDF редакторы в Linux не очень помогают при сжатии.
Программа Panos в оболочки GUI на основе Python-Qt для Ghostscript. Инструмент предоставляет вам простой пользовательский интерфейс, в котором вы можете выбрать входной файл, выбрать уровень сжатия и нажать кнопку сжатия, чтобы сжать файл PDF.

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

Если вас не устраивает сжатие, вы можете выбрать другой уровень сжатия и снова сжать файл.

Вы можете найти исходный код PDF Compressor в репозитории GitHub. Чтобы вы могли легко использовать инструмент, его упаковали его в формате AppImage.

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

Команда постарается добавить больше пакетов (Snap, Deb, PPA и т. д.) в будущих выпусках.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

о уплотнении

В следующей статье мы рассмотрим Densify. Если ты заинтересован сжимать файлы PDF но вам не нравится использовать терминал вашей системы Gnu / Linux. Есть альтернатива для таких пользователей, как вы, которые предпочитают графический пользовательский интерфейс (GUI) для сжатия этих типов файлов. Это приложение GTK +, написанное на Python. Также стоит отметить, что все это было разработано с атом, работающий в системах Ubuntu 17.10 / 18.04.

Densify - это графический пользовательский интерфейс, который упрощает процесс сжатие PDF-файлов на Gnu / Linux с помощью Ghostscript. Это приложение предоставит нам простой интерфейс, который позволяет пользователю выбрать файл PDF для сжатия. Это также позволит вам выбрать уровень оптимизации для PDF и имя выходного файла. По умолчанию этот файл будет называться сжатый.pdf. Таким образом, исходный файл не будет потерян.

Возможные уровни оптимизации для PDF с Densify

Типы сжатия PDF с Densify

Уровни оптимизации PDF можно найти в Тип опции. Кроме того, чуть ниже все они объясняются Нажмите на ?. Эти уровни оптимизации следующие:

  • Экран: выберите выход из низкое разрешение. Подобно настройке Акробат Дистиллятор «Оптимизированный дисплей» / изображения с разрешением 72 точки на дюйм.
  • Ebook: обеспечивает вывод со средним разрешением. Аналогично настройке Acrobat Distiller «Электронная книга» / изображения 150 dpi.
  • Принтер- Получает результаты, аналогичные Acrobat Distiller. 'Оптимизированные настройки печати / изображения 300 dpi.
  • Допечатная- Выберите выходной файл, аналогичный Acrobat Distiller. «Оптимизированные настройки предварительной печати» / изображения с разрешением 300 dpi.
  • По умолчанию: выберите выход предназначен для использования в самых разных целях. Возможно, за счет большего выходного файла.

Идеальный способ найти значение, которое вы ищете, - это протестировать эту конфигурацию и посмотреть, какая из них лучше всего подходит для каждого варианта использования. Например, уровень оптимизации экрана и электронной книги PDF сжимает наш PDF больше. Когда закончите, проверьте качество и убедитесь, что вас устраивает конечный результат.

Уплотнить имя вывода

Уплотняющие компрессы PDF файлы с помощью Ghostscript. Это программный пакет на основе интерпретатора для языка PostScript для PDF. Его использование варьируется от растеризации или представления указанных файлов, отображения или печати страниц документа до преобразования между файлами PostScript и PDF.

Скачайте и установите Densify

Уплотнение сжатия PDF-файла

Чтобы использовать Densify, вам понадобятся Python2, python-gi и Ghostscript. Мы сможем установить эти пакеты в дистрибутивах Debian, Ubuntu и Gnu / Linux, основанных на Debian / Ubuntu, таких как простая операционная система или Linux Mint. Для установки нам останется только открыть терминал (Ctrl + Alt + T) и написать в нем:

Теперь мы собираемся загрузите последний файл Densify .tar.gz со своего страница релизов на GitHub. Извлеките содержимое в свою домашнюю папку. Теперь у вас должна быть папка Densify-0.2.0 (версия может отличаться в зависимости от того, когда вы читаете эту статью) что мы можем установить в / opt переместив его туда. Чтобы переместить папку, в том же терминале просто введите следующую команду:

Чтобы закончить, мы собираемся установить пункт меню Densify. Предполагая, что приложение установлено на / opt / Densify en / USR / местные / доля / приложения /. Для этого теперь в терминале пишем:

После установки вы должны найти Densify в меню приложений вашей операционной системы. В этом примере я использую Ubuntu 18.04.

PDF, сжатый с помощью Densify

Удалить Densify

Если мы хотим удалите Densify из нашей операционной системы, нам нужно будет использовать только пару команд. Для этого открываем терминал (Ctrl + Alt + T). Мы собираемся начать с удаления папки, в которую мы копируем файлы приложения, с помощью следующей команды:

Теперь у нас есть только удалить пусковую установку которые мы добавляем в меню приложений Ubuntu. Сделаем это, написав в том же терминале:

Если кто хочет узнать больше об этом приложении, Вы можете проверить страницу GitHub проект.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Убунлог » Ubuntu » Densify, графический интерфейс для сжатия файлов PDF в Gnu / Linux

PDF-файлы довольно широко используются в сети для обмена документами, и другой текстовой и графической информацией. Иногда может возникать необходимость уменьшения размера файлов, для более быстрой передачи, к примеру, по почте. Известно, что существуют облачные сервисы, где вы отправляете свой файл, сервис выполняет оптимизацию, и вам возвращается результат. Однако данный метод не всегда может устраивать пользователей, в связи с неизвестностью куда может этот файл попасть далее, после загрузки его на этот сервис. Поэтому, сжимать файлы локально вполне обоснованное действие в вопросе безопасности. В данном посту мы рассмотрим пример сжатия файлов в Linux.

Мы рассмотрим два способа сжатия PDF-файла, посредством командной строки и через утилиты в GUI-оболочке. В качестве операционной системе в нашем примере используется Linux CentOS 7.

Сжатие PDF-файла через командную строку

Разумеется, для сжатия PDF-файла предварительно будет необходимо установить инструмент, который позволит выполнять эту операцию. Для командной строки существует такой инструмент как Ghostscript. Данная утилита доступна для большинства дистрибутивов Linux с открытым исходным кодом. В связи с этим вы можете свободно развернуть её у себя в системе.

После того как Ghostscript был установлен в системе, вы уже можете приступать к сжатию файла на диске. Чтобы выполнить сжатие файла вам следует выполнить следующую команду:

  • /presses (по ум.) – Высокое качество изображения, 300 точек на дюйм, размер получиться большой;
  • /ebook – Среднее качество, 150 точек на дюйм, размер получится средний;
  • /screen – Низкое качество, 72 точек на дюйм, размер будет минимальный.

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

Сжатие PDF-файла через графический интерфейс

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

Для GUI оболочки есть такая программа Panos которая основана на Python-Qt для Ghostdcript. Используя эту программу с пользовательским интерфейсом, вы можете выполнить сжатие файла. Уровень сжатия так же настраивается в интерфейсе, и вы можете выбрать более подходящий для вас. Сжатый файл будет размещён в той же директории что и исходный файл, с переименованием. Исходный файл при этом будет оставлен без изменений.

Новые решения появляются довольно часто, и если вы не нашли ничего подходящего, то вам стоит пробовать другие PDF-редакторы, которые в большинстве своём умеют оптимизировать файлы PDF.

У меня есть PDF-файл размером 72,9 МБ, который нужно сжать до 500 КБ.

Файл представлял собой изображение в формате JPEG, которое я отсканировал, а затем преобразовал в pdf.

это зависит от того, что занимает место . нужно гораздо больше информации. Сжатие пространства изображения может помочь, но если вы пытаетесь распылить кучу больших файлов, это не сработает. серьезно нужно больше информации. преобразовать его в DjVu, вместо этого пытаясь уменьшить PDF до невозможного размера (по словам источника) файл представлял собой изображение в формате jpeg, которое я отсканировал, а затем преобразовал в pdf. Кажется, что это немного помогает в размерах файлов, но pdfopt имеет простой синтаксис и повышает скорость загрузки и переворачивания страниц в эпоху iPad. :-) PDF в PS неэффективен в отсканированном PDF-файле, я пытаюсь преобразовать 56 МБ pdf в ps-файл, но ps-файл преобразуется в 1,3 ГБ, и снова ps2pdf преобразуется в 45 МБ-файл

aking1012 прав. С дополнительной информацией о возможных встроенных изображениях, гиперссылках и т. Д. Было бы намного проще ответить на этот вопрос!

Вот пара сценариев и решений для командной строки. Используйте по своему усмотрению.

Большое спасибо за ваши предложения, оболочка ghostscript творила чудеса и сократила ее до 460 КБ :) Это не обязательно правда. Если содержание перешло из изображения в текст, это более чем понятно. [Предполагается, что текст точно написан] Я рекомендую вам скрипт shrinkpdf.sh, вы можете настроить код так, чтобы он использовал желаемое значение ppi (72 по умолчанию) и достигал именно того размера файла, который вам нужен, чтобы жертвовать наименьшим качеством. Это позволило мне загрузить отсканированный документ объемом 11 МБ с макс. размер 3 Мб без потери качества.

Используйте следующую команду ghostscript :

  • -dPDFSETTINGS=/screen низкое качество, меньший размер. ( 72 т / д )
  • -dPDFSETTINGS=/ebook для лучшего качества, но немного больше PDF. ( 150 точек на дюйм )
  • -dPDFSETTINGS=/prepress выходной сигнал аналогичен настройке Acrobat Distiller «Prepress Optimized» ( 300 dpi )
  • -dPDFSETTINGS=/printer выбирает вывод, аналогичный настройке Acrobat Distiller «Print Optimized» ( 300 точек на дюйм )
  • -dPDFSETTINGS=/default выбирает вывод, предназначенный для использования в широком спектре применений, возможно за счет большего выходного файла
Это должен быть принятый ответ. ghostscript - это реализация PDF, XPS и PS для unices, которая может выполнять практически все, обеспечивая наилучшее качество .

Мой любимый способ сделать это - конвертировать PDF в PS и обратно. Это не всегда работает, хотя, но когда это работает, результаты хороши:

Это также напрямую работает с PDF, как это предлагается в комментариях.

Некоторые пользователи также сообщают об успешном использовании параметров электронной книги следующим образом:

Это очень простой и эффективный способ сделать это. Я был удивлен, увидев, насколько этот метод сжал файлы. Спасибо вам! Несмотря на то, что этот подход стал моим любимым решением для сжатия PDF-файлов, он разбивает URL-ссылки, которые может иметь документ (чего не происходит с подходом @Michael D). Кроме того, удивительная вещь - все, что я могу думать о запуске этого фрагмента! (: @Rubens Ах. Не знал о том, что он ломает ссылки URL. Спасибо за добавление этого. ps2pdf примет pdfs в качестве входных данных, так что вы можете сделать это за один шаг: ps2pdf intput.pdf output.pdf

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

Отрегулируйте плотность (например, 100x100) и качество в соответствии с вашими потребностями.

В зависимости от вашего ввода сжатие JPEG может быть не лучшим выбором из-за артефактов сжатия. У вас есть выбор между BZip, Fax, Group4, JPEG, JPEG2000, Lossless, LZW, RLE или Zip в качестве альтернативных методов сжатия (некоторые разрешают только ч / б изображения). Подробности смотрите здесь .

Мне удалось добиться отличных коэффициентов сжатия для отсканированных / сфотографированных документов (в зависимости от настроек). В зависимости от источника документа вы можете уменьшить глубину цвета ( -depth аргумент).

Для отсканированного документа, где интересует именно текст, а не изображения, и сохранение глубины не является проблемой, сжатие JPEG не является хорошей идеей, поскольку артефакты имеют тенденцию быть чрезвычайно заметными. Если вы используете pdfimages input.pdf pages для извлечения PBM файлов, то вы можете сделать что - то вроде: for page in *.pbm; do convert $page -compress Group4 -type bilevel TIFF:- | convert - output.pdf . Любое распознавание будет потеряно, поэтому я обычно делаю это pdfsandwich output.pdf , что, похоже, еще больше уменьшает размер файла. @BrianZ уверен, что сжатие в формате JPEG не всегда лучший выбор, но для меня это был лучший подход для документов смешанного типа. Я добавил в ответ некоторые сведения о других методах сжатия. Этот метод в конечном итоге используется gs за кадром. Мне пришлось использовать двойную черту для вариантов запуска команды --density --quality --compress против -density -quality -compress . Если качество изображения не является самой важной задачей (и вы просто хотите, чтобы это чертово вложение электронной почты было достаточно маленьким для отправки), можно также добавить -resize 50% , изменить процент в зависимости от того, сколько

Мне нужно было уменьшить размер PDF, который содержал полноцветное сканирование документа. Каждая из моих страниц была полноцветным изображением. Это были изображения страниц, содержащие текст и изображения, но они были созданы путем сканирования в изображение.

Я использовал комбинацию из приведенной ниже команды ghostscript и команды из другого потока.

Это уменьшило разрешение изображения до 150 точек на дюйм, сократив размер моего файла вдвое. Глядя на документ, заметных потерь качества изображения практически не было. Текст все еще отлично читается на моем Nexus7 2012 года.

+1 для дискретизации изображений, но с сохранением текста в качестве векторов. Сделал огромную разницу в стороне, не делая мой текст пиксельным. Фантастично, что можно настроить разрешение с помощью этой команды - это дало мне лучшие результаты, чем просто использование dPDFSETTINGS = \ screen

Вот скрипт для перезаписи отсканированных PDF-файлов:

Вы можете немного изменить его, чтобы сделать его более пригодным для повторного использования, но если у вас есть только один pdf, вы можете просто заменить его $1 своим pdf-именем и добавить его в терминал.

Работает угощение, спасибо Оли. Вы ответили почти на все, что я здесь просил :-D Это хороший ответ, но в моем случае, по крайней мере, требуется много времени для преобразования довольно большого (> 10 МБ) PDF-файла (более минуты). Я не уверен, что происходит, но 30 МБ PDF приводит к 68 МБ файла. Вместо уменьшения оно увеличивается. Тот же вывод при использовании напрямую ps2pdf, как указано в следующем ответе. @EdVillegas Единственное, что я могу придумать (чтобы объяснить это увеличение), это то, что изображения имеют более низкое разрешение, чем генерируемые (72 точек на дюйм). Или каким-то образом встраивание шрифтов засасывает все шрифты.

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

Я использую следующий скрипт на python, чтобы уменьшить размер всех файлов pdf в директории на производственном сервере (8.04). Так и должно работать.

Спасибо за альтернативное решение. Сначала я попробовал Оли, и это дало мне результат, который мне был нужен, но я оставлю его для дальнейшего использования. -dPDFSETTINGS = / опция принтера сделать 50% размера. книга делает 90% размера.
  1. Я использую LibreOffice Draw, чтобы открыть PDF.
  2. Я тогда "экспортирую как pdf"
  3. И установите «качество сжатия JPEG» до 50% и «разрешение изображения» до 150 точек на дюйм

Это будет иметь хороший результат.

Худшее из возможных решений проблемы! Это полностью испортило мой файл!

Лучший для меня был

Отличное решение. Легко запомнить, и это принесло мой PDF-файл с 32 до 3,5 МБ без ощутимой потери читабельности. Мне понравился второй способ pdf2ps input.pdf temp.ps && ps2pdf14 temp.ps output.pdf && rm temp.ps

Я только что столкнулся с этой проблемой сам. Если вы используете простое сканирование, выберите текстовый режим для сканирования с низким разрешением, и вам не придется беспокоиться о командной строке. Просто говорю.

Это единственный ответ в этой теме, который решил мою проблему. Я преуменьшил значение Simplescan, но это действительно был для меня ответ, вместо того, чтобы бороться с Xsane в том, что казалось бесконечной агонией.

Контроль качества сжатия:

. так что и ВХОД, и ВЫХОД - это один и тот же аргумент? Вы можете добавить руководство по использованию. Обратите внимание shift . Первый параметр - это входной файл, второй - выходной файл, а остальные параметры будут переданы gs как есть. Я думаю, что вы хотите / HSample s и / VSample s , а не / HSample и / VSample. Смотрите, например, документы ps2pdf или справочное руководство по языку PostScript. Также, возможно, стоит отметить, что допустимый диапазон QFactor составляет от 0 до 1 000 000, а более низкие значения дают более высокое качество.

Так как эта ссылка была первой для меня, когда я искал в Google, я решил добавить еще одну возможность. Ни одно из вышеперечисленных решений не работало для меня на PDF, экспортированном из Inkscape (15 МБ), но я наконец смог уменьшить его до 1 МБ, открыв его в GIMP и снова экспортировав в PDF.

Другой вариант, который был близок (но текст был немного нечетким), был утилитой преобразования ImageMagick:

Я предполагаю, что это то, что вы имели в виду под «немного нечетким», но просто чтобы прояснить, convert -compress Zip казалось, растеризовать все векторы.

Я настоятельно рекомендую pdfsizeopt .

Это гораздо более эффективным с точки зрения уменьшения размеров , чем любой из предыдущих CLI и GUI программное обеспечение , которое я попробовал ( в том числе convert , gs , pdftk и т.д.) - хотя , возможно , медленнее pngout активировано - и не имеет некоторые из их вопросов (не сильно пиксельные / ухудшенные изображения, без потери закладок и т. д.).

Теперь, если вам нужно достичь определенного размера, какими бы ни были последствия (в том числе ухудшение качества изображения до точки нечитаемости), это может быть не тот инструмент, который вам нужен, а постоянно действующее решение для уменьшения ненужных больших размеров. в PDF без потери читаемости, информации и приемлемого качества изображения, я думаю, что это лучший вариант. (Примечание: я склонен использовать его после того, как сначала сделал OCR векторизации в Adobe Acrobat [функция, которая раньше называлась «CleanScan»], что может оказать существенное влияние на размер некоторых отсканированных текстовых документов.)

Я рекомендую стандартную установку Unix :

Установите все необходимые зависимости:

Загрузите и установите исполняемый файл:

Читайте также: