Как уменьшить размер .pdf без потери качества

23

Фон

Я хочу уменьшить размер .pdf, заполненного изображениями. В Previewв может быть купол через Exportи набор Quartz Filter-> Reduce File Sizeперед сохранением.

Превью-экспорт

проблема

Файл действительно уменьшился с ~ 30 МБ до 0,37 МБ.

Но результат имеет настолько низкое качество, что изображения едва читаются.

Вопрос

Я видел примеры использования Image Magicдля достижения этой цели - но можно ли это сделать с помощью Preview без какого-либо внешнего программного обеспечения?

michalczukm
источник

Ответы:

34

Проблема в том, что фильтр по умолчанию, используемый во время преобразования, имеет очень низкие параметры преобразования.

К счастью, пользовательский фильтр может быть добавлен.

Добавление пользовательского фильтра шаг за шагом

  1. Создать новый каталог (если у вас его нет) - /Library/Filters
  2. Добавьте туда новый файл фильтра с уникальным фильтром - например Reduce Size with good quality.qfilter
  3. Файл должен содержать XML с новым фильтром - вы можете использовать /System/Library/Filters/Reduce File Size.qfilterфайл или использовать мой пример ниже. Измените настройку сжатия, размер изображения и добавьте уникальное отображаемое имя для вашего фильтра.

Структура файла фильтра / пример

Я пометил ключевые настройки комментариями.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Domains</key>
    <dict>
        <key>Applications</key>
        <true/>
        <key>Printing</key>
        <true/>
    </dict>
    <key>FilterData</key>
    <dict>
        <key>ColorSettings</key>
        <dict>
            <key>DocumentColorSettings</key>
            <dict>
                <key>CustomLHSCorrection</key>
                <array>
                    <integer>8</integer>
                    <integer>8</integer>
                    <integer>8</integer>
                </array>
            </dict>
            <key>ImageSettings</key>
            <dict>
                <key>Compression Quality</key>
    <!-- ====== Set your custom quality <0,1> ======= -->
                <real>0.75</real>
                <key>ImageCompression</key>
                <string>ImageJPEGCompress</string>
                <key>ImageScaleSettings</key>
                <dict>
                    <key>ImageScaleFactor</key>
    <!-- ====== Set your scale factor <0,1> ======= -->                 
                    <real>0.75</real>
                    <key>ImageScaleInterpolate</key>
                    <true/>
    <!-- ====== Set what sizes your images can reach ======= -->                    
                    <key>ImageSizeMax</key>
                    <integer>1684</integer>
                    <key>ImageSizeMin</key>
                    <integer>1200</integer>
                </dict>
            </dict>
        </dict>
    </dict>
    <key>FilterType</key>
    <integer>1</integer>
    <key>Name</key>
<!-- ====== Set unique display name for your filter ======= -->
    <string>Reduce Size Good Quality</string>
</dict>
</plist>

Результат

Выберите новый фильтр при экспорте файла.

введите описание изображения здесь


Полезные статьи:

michalczukm
источник
19

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

(Примечание: по какой-то причине «Экспорт в PDF» не показывает фильтры, а «Экспорт», выбирая PDF в качестве формата файла.)

введите описание изображения здесь

benwiggy
источник
Оно работало завораживающе! Стоит отметить, что оригинальный фильтр не может быть изменен, нужно продублировать оригинальный фильтр, дать ему имя, и только тогда вы сможете изменить его.
Farside
(Переименуйте, дважды щелкнув имя в списке утилит ColorSync.) Получившийся фильтр заканчивается в ~ / Library / Filters (по крайней мере в Catalina); переместите его в / System / Library / Filters /, если по какой-то причине он должен быть доступен для всей системы.
JLundell
1
@JLundell Вы не можете писать в / System. Вы можете вставить его в / Library / Filters для всех пользователей.
Benwiggy
Даже проще, чем редактирование файла XML! Спасибо
webofmars
Спасибо! Это решение также работает с новой версией Catalina 10.15.3. В этой версии вы не можете редактировать или добавлять файлы в Систему папок / Библиотеки / Фильтры, поэтому, похоже, это единственное решение, доступное сейчас.
Bman72
4

Предварительный просмотр очень ограничен в своих возможностях. (Хотя ответ @ michalczukm вполне может стоить попробовать для простых документов, например PDF-файлов с небольшой структурой, без закладок. Также: хотя вы не можете визуально различить какие-либо потери качества, это все же процедура с потерями, но с менее агрессивными настройками потом оригинальный Кварц-фильтр.)

Вместо Image Magick или Preview я предлагаю попробовать:

  • Adobe Acrobat (дорогой)

или бесплатно / бесплатно

  • GhostScript со следующими параметрами:

    gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dCompatibilityLevel=1.7 -dNOPAUSE -dQUIET -dPDFSETTINGS=/prepress -sOutputFile=Name_of_Outputfile.pdf To_Reduce_Input.pdf

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

Ghostscript доступен через ряд мест для MacOS. Связанный muPDF даже доступен в App Store .

Если вы создали PDF самостоятельно, очевидно, что лучше всего без потерь уменьшить изображения, прежде чем включать их в документ (PDF). Регулировка размера изображения с точки зрения количества пикселей / разрешения в соответствии с предполагаемым выходным носителем может дать наибольшую экономию.

LаngLаngС
источник
использование ghostscript отлично подходит для более крупных и сложных сценариев. Для простых документов (это был мой случай) фильтр был быстрым и достаточно хорошим. PS обратите внимание, что и вопрос, и первый ответ - мои :)
michalczukm
2

Вы можете использовать этот веб-сайт: https://smallpdf.com/compress-pdf, чтобы уменьшить PDF-файлы до действительно небольшого размера. Качество PDF все еще действительно хорошее даже после сжатия.

Амит Кулкарни
источник
Хорошая платформа, но, к сожалению, она для меня истекла 4k страницы PDF (3+ ГБ)> «Сжатие вашего PDF-файла заняло слишком много времени. Максимальное время сжатия в настоящее время ограничено 10 минутами».
philshem
Я использовал это кратко в пробном режиме. Массовое сжатие PDF-файлов в Finder из сервисного меню, экономия места (в профессиональном режиме). Довольно удобно! Цены составляют $ 11.60 / месяц или 105 $ / год .
Карстен
2

Согласно ответу michalczukm, кварцевый фильтр может решить эту проблему. Я создал свой собственный и поделился им на Github. Вы можете легко установить его с помощью одной командной строки. Он не устанавливает никакого программного обеспечения, только кварцевый фильтр.

https://github.com/superman-lopez/compressjpeginpreview

Superman.Lopez
источник
0

Если у вас есть PDF, версия 1.6 или 1.7, вы можете использовать параметр дубликата в Preview. Предварительный просмотр сохранит файл в формате 1.4 и сохранит примерно 50% размера файла. Насколько я могу судить, нет потери качества. Не нужно использовать экспорт - уменьшенный размер файла, если вам не нужна дополнительная экономия.

JMH
источник
Это может сработать, хорошо, для некоторых документов, предназначенных для печати. Но рассуждения сомнительны. Обычно увеличение PDF-версии обеспечивает лучшее сжатие и т. Д. Понимаете ли вы, что использование предварительного просмотра таким образом сопряжено с потерями, например, структура документа: вы потеряете закладки, например?
LаngLаngС
Я просто описываю некоторые результаты работы с Preview и PDF. Я не понимаю, почему это работает так, как работает, но вот чему я научился ..
мин
Ну, я не могу повторить это с более новой версией предварительного просмотра. я не знаю, что случилось. Я уверен, что мой предыдущий анализ был верным.
JMH
Я уверен, что ваше наблюдение было правильным («объяснение», скорее всего, нет). Вот почему этот A все еще в порядке и метод стоит попробовать. Там довольно много очень ужасных PDF-файлов. Даже от действительно крупных издателей. (Пробовали ли вы с теми же PDF-файлами, но с более новым предварительным просмотром?) Так как сама спецификация PDF - беспорядок: помимо обеспечения контроля над созданием с самого начала, «лучший» метод должен быть опробован почти каждый раз…
LаngLаngС