Я использую pdftk для сжатия PDF- файла с помощью следующей командной строки
pdftk file1.pdf output file2.pdf compress
Это работает, поскольку вес моего файла уменьшился.
Есть [варианты] поменять компрессию ???
Или, может быть, другие решения для сжатия моего файла? Это тяжело, потому что в некоторой графике много точек . Есть ли способ преобразовать эти графики, например, в jpg и адаптировать сжатие?
compression
pdftk
RockScience
источник
источник
Ответы:
У меня была такая же проблема, и я нашел два разных решения (подробнее см. В этой ветке ). Оба файла резко уменьшили размер моего несжатого PDF-файла.
Пиксельный (с потерями):
Без пикселов (без потерь, но может отображаться немного иначе):
Изменить : я только что обнаружил еще один вариант (для сжатия без потерь), который позволяет избежать неприятной команды gs. qpdf - удобный инструмент, который конвертирует PDF-файлы (сжатие / распаковка, шифрование / дешифрование) и работает намного быстрее, чем команда gs:
источник
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
gs
команда в ответе не совсем без потерь, поскольку она снижает разрешение и качество встроенных файлов JPG. Но это без потерь. текст, сохраняя его как текст, в то время какconvert
команда преобразует его в растровую графику.-dPDFSETTINGS=
на/ebook
дает мне очень хороший результат: конечно, он сжат и видны некоторые артефакты jpg, но он полностью читается при разумном размере. Благодарность!эта процедура работает очень хорошо
попробуйте.
источник
Пытаюсь сжать PDF-файл, который я сделал с разрешением 400 пикселей на дюйм, в основном 8-битным, несколько 24-битным, со сжатием PackBits, используя
tiff2pdf
сжатие с помощью Zip / Deflate. У меня была одна проблема с каждым из этих методов: ни один из вышеперечисленных методов не сохранил оглавление закладок, которое я кропотливо вручную создал в Acrobat Pro X. Даже рекомендуемыйebook
параметр дляgs
. Конечно, я мог бы просто открыть копию оригинала с неповрежденным оглавлением и сделать это,Replace pages
но, к сожалению, ни один из этих методов с самого начала не дал удовлетворительной работы. Либо они уменьшили размер настолько, что качество было недопустимо пиксельным, либо они не уменьшили размер вообще, а в одном случае фактически увеличили его, несмотря на потерю качества.pdftk compress
:gs screen
:gs printer
:gs ebook
:qpdf --linearize
:pdf2ps
:ps2pdf
:источник
Если размер файла все еще слишком велик, можно использовать ps2pdf для уменьшения разрешения создаваемого файла pdf:
Настройте значение параметра -dColorImageResolution для достижения результата, который соответствует вашим потребностям (значение описывает разрешение изображения в точках на дюйм ). Если ваш входной файл имеет оттенки серого, замена цвета на серый или использование обоих параметров в приведенной выше команде также может помочь. Дальнейшая тонкая настройка возможна путем изменения параметра -dPDFSETTINGS на / default или / printer . Для объяснения всех возможных опций обратитесь к руководству ps2pdf .
источник
Попробовав gpdf, как предлагал nullglob , я обнаружил, что получил те же результаты сжатия (файл размером ~ 900 МБ до ~ 30 МБ), просто используя принтер cups-pdf. Это может быть проще / предпочтительнее, если вы уже просматриваете документ и вам нужно сжать только один или два документа.
В Ubuntu 12.04 вы можете установить это с помощью
После установки обязательно проверьте Системные инструменты > Администрирование > Печать > щелкните правой кнопкой мыши «PDF» и установите для него значение «включить».
По умолчанию вывод сохраняется в папке с именем PDF в вашем домашнем каталоге.
источник
Вариант однострочного pdf2ps (автор Lee) фактически увеличил размер pdf. Однако два первых шага оказались лучше. И его можно объединить в один, используя перенаправление от & на стандартный ввод / вывод и каналы:
pdf2ps large.pdf - | ps2pdf - small.pdf
уменьшил PDF-файл, созданный xsane, с 18 мес. до 630 ко!
Ссылки теряются, но для данного примера это не проблема ... и это был самый простой способ добиться желаемого результата.
источник
ps2pdf
Вместо этого вы можете попробовать , см. Мой комментарий к ответу @ Lee.pdf2ps large.pdf small.pdf
достаточно, вместо двух шаговОднако
ps2pdf large.pdf small.pdf
это лучший выбор.ps2pdf
намного быстрееpdf2ps
иногда создает файл большего размера.источник
out.pdf
, он стал файлом PS (mimetype out.pdf
говоритout.pdf: application/postscript
).mimetype small.pdf
?mimetype small.pdf
естьsmall.pdf: application/pdf
. Я думаю, программа может автоматически определять тип файла по суффиксу.ps2pdf
лучше.Я не заметил значительного уменьшения размера файла при использовании qpdf. Лучший способ, который я нашел, - это после завершения pdftk использовать ghostscript для преобразования pdf в postscript, а затем обратно в pdf. В PHP вы должны использовать exec:
Я использовал это несколько минут назад, чтобы увеличить вывод pdftk с 490k до 71k.
источник
У меня была такая же проблема, и я использовал эту функцию для сжатия отдельных страниц, в результате чего размер файла сжимался до 1/3 исходного размера.
источник
Если вы хотите сжать PDF-файл, содержащий много текста, который можно выбрать, в Windows вы можете использовать NicePDF Compressor - выберите опцию «Flate». Попробовав все (cpdf, pdftk, gs), он наконец помог мне сжать мой 1360-страничный PDF-файл с 500 МБ до 10 МБ.
источник