У меня есть PDF-файл размером 72,9 МБ, который нужно сжать до 500 КБ.
Файл представлял собой изображение в формате JPEG, которое я отсканировал, а затем преобразовал в pdf.
pdf
compression
tamimym
источник
источник
pdfopt
имеет простой синтаксис и повышает скорость загрузки и переворачивания страниц в эпоху iPad. :-)Ответы:
aking1012 прав. С дополнительной информацией о возможных встроенных изображениях, гиперссылках и т. Д. Было бы намного проще ответить на этот вопрос!
Вот пара сценариев и решений для командной строки. Используйте по своему усмотрению.
источник
Используйте следующую команду 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
выбирает вывод, предназначенный для использования в широком спектре применений, возможно за счет большего выходного файлаисточник
screen
настройки были слишком низкого качества для меня, но ониebook
работали хорошо, сокращая 33-мегабайтный PDF-файл со сканированием до 3,6 Мб и сохраняя его очень читабельным. Другие варианты этой-dPDFSETTINGS
опции перечислены здесь: milan.kupcevic.net/ghostscript-ps-pdf , и было бы неплохо включить их в этот ответ.Мой любимый способ сделать это - конвертировать PDF в PS и обратно. Это не всегда работает, хотя, но когда это работает, результаты хороши:
Это также напрямую работает с PDF, как это предлагается в комментариях.
Некоторые пользователи также сообщают об успешном использовании параметров электронной книги следующим образом:
источник
ps2pdf intput.pdf output.pdf
Если у вас есть PDF с отсканированными изображениями , вы можете использовать его
convert
для создания PDF со сжатием JPEG (вы можете использовать этот метод для любого PDF, но вы потеряете всю текстовую информацию).Например:
Отрегулируйте плотность (например, 100x100) и качество в соответствии с вашими потребностями.
В зависимости от вашего ввода сжатие JPEG может быть не лучшим выбором из-за артефактов сжатия. У вас есть выбор между BZip, Fax, Group4, JPEG, JPEG2000, Lossless, LZW, RLE или Zip в качестве альтернативных методов сжатия (некоторые разрешают только ч / б изображения). Подробности смотрите здесь .
Мне удалось добиться отличных коэффициентов сжатия для отсканированных / сфотографированных документов (в зависимости от настроек). В зависимости от источника документа вы можете уменьшить глубину цвета (
-depth
аргумент).источник
pdfimages input.pdf pages
для извлечения PBM файлов, то вы можете сделать что - то вроде:for page in *.pbm; do convert $page -compress Group4 -type bilevel TIFF:- | convert - output.pdf
. Любое распознавание будет потеряно, поэтому я обычно делаю этоpdfsandwich output.pdf
, что, похоже, еще больше уменьшает размер файла.gs
за кадром.--density --quality --compress
против-density -quality -compress
.-resize 50%
, изменить процент в зависимости от того, сколькоМне нужно было уменьшить размер PDF, который содержал полноцветное сканирование документа. Каждая из моих страниц была полноцветным изображением. Это были изображения страниц, содержащие текст и изображения, но они были созданы путем сканирования в изображение.
Я использовал комбинацию из приведенной ниже команды ghostscript и команды из другого потока.
Это уменьшило разрешение изображения до 150 точек на дюйм, сократив размер моего файла вдвое. Глядя на документ, заметных потерь качества изображения практически не было. Текст все еще отлично читается на моем Nexus7 2012 года.
источник
Вот скрипт для перезаписи отсканированных PDF-файлов:
Вы можете немного изменить его, чтобы сделать его более пригодным для повторного использования, но если у вас есть только один pdf, вы можете просто заменить его
$1
своим pdf-именем и добавить его в терминал.источник
Я обычно использую ps2pdf для этого (упрощенный синтаксис), что-то вроде этого:
Я использую следующий скрипт на python, чтобы уменьшить размер всех файлов pdf в директории на производственном сервере (8.04). Так и должно работать.
источник
Это будет иметь хороший результат.
источник
Лучший для меня был
Другие способы:
С уважением
источник
pdf2ps input.pdf temp.ps && ps2pdf14 temp.ps output.pdf && rm temp.ps
Я только что столкнулся с этой проблемой сам. Если вы используете простое сканирование, выберите текстовый режим для сканирования с низким разрешением, и вам не придется беспокоиться о командной строке. Просто говорю.
источник
Контроль качества сжатия:
источник
shift
. Первый параметр - это входной файл, второй - выходной файл, а остальные параметры будут переданыgs
как есть.Так как эта ссылка была первой для меня, когда я искал в Google, я решил добавить еще одну возможность. Ни одно из вышеперечисленных решений не работало для меня на PDF, экспортированном из Inkscape (15 МБ), но я наконец смог уменьшить его до 1 МБ, открыв его в GIMP и снова экспортировав в PDF.
Другой вариант, который был близок (но текст был немного нечетким), был утилитой преобразования ImageMagick:
источник
convert -compress Zip
казалось, растеризовать все векторы.В конце концов я написал свой собственный Баш скрипт , чтобы решить эту проблему, он использует
mogrify
,convert
иgs
для извлечения Pdf страницы в формате PNG, изменять их размер, конвертировать их в 1-битном формате BMP , а затем восстановить их в формате PDF. Уменьшение размера файла может быть более 90%. Доступно по адресу http://www.timedicer.co.uk/programs/help/pdf-compress.sh.php .источник
Я настоятельно рекомендую pdfsizeopt .
Это гораздо более эффективным с точки зрения уменьшения размеров , чем любой из предыдущих CLI и GUI программное обеспечение , которое я попробовал ( в том числе
convert
,gs
,pdftk
и т.д.) - хотя , возможно , медленнееpngout
активировано - и не имеет некоторые из их вопросов (не сильно пиксельные / ухудшенные изображения, без потери закладок и т. д.).Теперь, если вам нужно достичь определенного размера, какими бы ни были последствия (в том числе ухудшение качества изображения до точки нечитаемости), это может быть не тот инструмент, который вам нужен, а постоянно действующее решение для уменьшения ненужных больших размеров. в PDF без потери читаемости, информации и приемлемого качества изображения, я думаю, что это лучший вариант. (Примечание: я склонен использовать его после того, как сначала сделал OCR векторизации в Adobe Acrobat [функция, которая раньше называлась «CleanScan»], что может оказать существенное влияние на размер некоторых отсканированных текстовых документов.)
Я рекомендую стандартную установку Unix :
Установите все необходимые зависимости:
Загрузите и установите исполняемый файл:
Использование:
Примечание для пользователей Mac, которые находят это сообщение (или для пользователей Linuxbrew): существует формула установки Homebrew:
источник
Я столкнулся с той же проблемой, и был рад найти эту ветку. В частности, у меня был PDF, сгенерированный из отсканированных изображений, и мне нужно было уменьшить размер его байта в 6 раз.
К сожалению, ни одно из вышеперечисленных решений не сработало :(. Тогда я понял, что где-то в процессе сканера-> jpeg-> pdf размер страницы увеличился в 4 раза. Все отсканированные документы были размером Letter, но PDF имел размер
Наконец, я получил желаемые результаты с помощью команды «convert», которая выполняла как изменение размера, так и этапы сжатия в одном:
Обратите внимание, что doc_orig имеет плотность 72x72 точек на дюйм.
источник
Если преобразование в djvu также будет в порядке, и если нет цветов, вы можете попробовать следующее:
Конвертируйте pdf в jpg файлы используя
pdfimages -j
Если вместо этого вы получаете файлы pbm, вам следует выполнить промежуточный шаг:
for FILENAME in $(ls *.pbm); do convert $FILENAME ${FILENAME%.*}.jpg ;done
Команда convert находится в пакете imagemagick.
Затем используйте скантейлер, чтобы сделать из него тиф.
На последнем шаге вы переходите в директорию scantailors out (где находятся tif) и применяете djvubind к этому каталогу.
Это должно резко уменьшить размер файла без большой потери качества текста. Если вы хотите более точный контроль над ocr-backend, вы можете попробовать
djvubind --no-ocr
использовать ocrodjvu, чтобы впоследствии добавить слой ocr.Если у вас есть цвет в вашем документе, все становится немного сложнее. Вместо djvubind вы можете использовать didjvu, а в scantailor вы должны перейти в смешанный режим и иногда выбирать цветовые изображения вручную.
источник
загрузить изображение или даже PDF-файл в Inkscape.
Из inkscape: Сохранить в векторном формате (как родной .svg).
Импортируйте векторные файлы в Scribus, редактируйте макет и экспортируйте / сохраняйте как .pdf оттуда
источник
Супер простой инструмент для сжатия PDF: страница GitHub.
Установка на Ubuntu:
Он использует ghostscript.
источник
Вы можете попробовать это:
Это быстрее, чем,
gs
но сжимает до 30% в этом случае для входного файла 107,5 МБ.источник
Для меня
screen
опция gs была слишком плохой, аebook
одна слишком большой.Мой оригинальный документ содержал текст в виде цветных и черно-белых изображений (в зависимости от страницы).
Лучшее решение, которое я придумал, было:
Обратите внимание, что уровень сжатия не является линейным. Если бы я указал 135, он не был сжат, я бы обнаружил, что 130 - это (в моем случае) максимальное разрешение, которое обеспечивает сжатие.
источник
Я использовал приведенные ниже команды, но это существенно не сжало мой файл PDF. Несколько раз часть была почерневшей после сжатия.
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf $INPUTFILE
"ps2pdf -dPDFSETTINGS=/ebook %s %s" % (input_file_path, out_file_path)
После долгих блужданий по сети я просто не смог найти подходящую библиотеку сжатия. Я сталкивался
pdfcompressor.com
. Это просто потрясающий сайт. Он сжимает PDF на 95% (15 МБ файлов). Поэтому я использовал селен и Tor для автоматизации сжатия. Оформить заказ на мой репозиторий Github. [GITHUB] ( https://github.com/gugli28/PdfCompressor )источник