Задача «облегчения» PDF-файлов возникала у меня испокон веков. Я перепробовал десятки способов, задумываясь, в первую очередь, об автоматизации процесса, либо — на худой конце — выработки такого алгоритма, который бы позволил поставить на поток подобное преобразование ( PDF-файлов «хорошо под 100 Мб» у меня в библиотеке скопилось 10148!).
Увы, ничего стоящего и постоянного подобрать не удалось. Самое мое последнее открытие — программа PDF Squeezer, предназначенная специально для сжатия, — показала жалчайшие результаты. Какие — вы сейчас узнаете, поскольку я буду использовать PDF Squeezer в качестве эталона для сравнения. Сравнивать же мы будем с всё той же самой Fopydo, которую совершенно неожиданным образом мне удалось прикрутить к решению поставленной задачи.
Мы будем оценивать с вами работу программ по двум критериям: качество изображения страниц и размер файла.
Поглядите, как выглядит исходник книги в формате DJVU (открытый в программе DJView):
Я специально выбрал самую сложную и разнообразную в графическом отношении страницу. Напомню, что размер файла в исходном формате DJVU — 1,6 Мб.
Вот как выглядит тот же исходник, преобразованный средствами DJView в формат PDF (выведен на экран Adobe Acrobat XI Pro):
Размер файла — 85,9 Мб. Визуальных потерь нет никаких, поэтому будем использовать эти скриншоты в качестве эталона.
Смотрим теперь на работу PDF Squeezer. Программа эта с сильно выраженной претензией на профессиональность, поэтому в ней предусмотрены настройки разрешения PDF. Начинаем с самого низкого — 50 DPI:
Размер файла 5,4 Мб, но смысла в нем нет никакого, потому что читать это, сами понимаете, физически невозможно.
Повышаем разрешение до 75 DPI:
Размер файла — 11,1 Мб. Результат по-прежнему неприемлемый.
Повышаем разрешение до шаблона «150 DPI Low Quality»:
Размер файла 15,5 Мб. Это первый результат, который с большой натяжкой можно считать удовлетворительным. Читать этот текст в принципе можно, хотя до исходного качества ему как до луны.
Повышаем разрешение еще выше — до «150 DPI Average Quality»:
Здесь уже все совсем прилично, однако размер файла полностью перечеркивает весь практический смысл — 36,2 Мб. То есть PDF Squeezer сжал исходный файл всего лишь чуть больше, чем в два раза.
Дальше продолжать эксперименты с PDF Squeezer не стал (в программе есть шаблоны и на 300 и на 600 DPI), поскольку очевидно, что улучшение качества будет сопровождаться дальнейшим увеличением размера файла. Зачем это делать, если 36 Мб — уже неприемлемо?
Полностью разочаровавшись в PDF Squeezer я вдруг вспомнил про Fopydo. Теоретически программа должна с легкостью справиться с поставленной задачей, поскольку на входе у нее предусмотрены не только изображения, но и PDF-файлы (DJVU, к великому сожалению нет: Томек, если Вы меня читаете — нужно непременно добавить :).
PDF Squeezer ужимает исходные файлы очень быстро — буквально за 5-10 секунд. У Fopydo на полное выполнение цикла ушло 7 минут. Медлительность понятна, поскольку у программы совершенно иной алгоритм: сначала она разбивает исходный PDF на множество JPG-файлов (по одному на каждую страницу книги). Затем ужимает и компилирует в новый PDF-файл.
Вот, что у меня получилось:
Чисто физически размер страницы получился больше (при том же 100-процентном воспроизведении документа в Adobe Acrobat), поэтому я предлагаю еще один скриншот — с уменьшенной страницей PDF-файла, созданного Fopydo, для того, чтобы вам было проще и наглядней сравнивать ее с результатами PDF Squezeer:
Для сравнения рекомендую использовать скриншот преобразования по шаблону «150 DPI Average Quality», поскольку этот результат, единственно сопоставимый по качеству. На мой взгляд Fopydo выполнила свою работу лучше, причем по всем без исключения показателям (от контрастности до алиасинга).