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

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

Похожесть возникает не от близости материй киноискусства и компьютерного программирования, а от универсального устройства человеческого механизма, априорно настроенного на прохождение пути наименьшего сопротивления. ТАК описать фильм и ТАК представить компьютерную программу ПРОЩЕ ВСЕГО. Именно по этой причине 90 % кинорецензий и софтверных обзоров составляются в воспроизведенном выше ключе.

Нужно, однако, понимать, что путь наименьшего сопротивления – это не упрёк или, там, констатация особой лени. Это норма. И у Старого Голубятника нет ни малейших оснований натягивать на себя белый фрак. Так я, собственно, и не натягиваю: мой персональный мейнстрим слагается из точно такого же – упрощенно-облегченного – алгоритма подачи материала читателям. Я это искренне осознаю и пытаюсь по мере сил и способностей разбавлять тоску предмета непрозрачной семантикой своего текста (в этом, кстати, заключена суть культур-повидла, а не в сюжетных девиациях от софтожелеза).

Бывают, однако, счастливые исключения. Бывают сюжеты, которые открываются автору не просто оригинально, но и бесконечно конструктивно. Иными словами, та или иная компьютерная программа дает повод для демонстрации экстраординарной функциональности, не описанной в “рекламном списке разработчика” прямым текстом. Уж не знаю, что за это благодарить – счастливый случай или излишнюю скромность разработчика-программиста, но при любом раскладе я испытываю огромная радость всякий раз, когда появляется возможность предоставить читателям эксклюзивную информацию. Тем более, если эта информация не только полезна в практическом отношении, но и уникальна (в том смысле, что ни в какой другой компьютерной программе вы не найдете аналогичной функциональности).

Сегодня как раз тот самый “праздничный” случай. В декабре 2012 г. я представил читателям весьма полезную программу – Fopydo (“Fopydo и Cubica“). Она бесплатна и реализована как для платформы Windows, так и для Mac OS X. Написал Fopydo польский программист Томек Вардега (правда, живет, похоже, в Соединенных Штатах).

Основное назначение Fopydo – создавать PDF-файлы, используя в качестве исходного материала сканированные документы, рукописные заметки, рисунки, факсы, фотографии и т.п. Скармливать Fopydo можно что угодно: хоть готовые файлы из папок, хоть директории целиком, хоть снимки напрямую из цифровой камеры, хоть изображения прямо со сканера, хоть другие уже существующие PDF-файлы.

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

Последний вариант отпадал сразу – распаковка архивов не входит в перечень компьютерных умений моей матушки. Первый вариант неудобен, потому что сохранять 20 фотографий по отдельности, а потом искать их на жестком диске – это процедура, нарушающая стройную картину мира, в котором “компьютер – это набор иконок на экране (= рабочем столе), по которым можно кликнуть для запуска Скайпа или открытия браузера”.

Короче говоря, Fopydo позволила мне за пару минут создать один cверхкомпактный PDF-файл, наполненный фотографиями, который я закинул на облако, а матушка просто открыла его на своем рабочем столе (на котором я предусмотрительно создал шорткат для ее персональной директории в Дропбоксе).

Самая поразительная фича Fopydo – это эффективность компрессии: из 15 мегабайтного массива фотографий программа сделала фотоальбом безупречного качества размером в полмегабайта. Об этом я и рассказал читателям.

Оказалось, что это не конец истории. В минувшие выходные мне пришлось решать рутинную задачу, казалось бы, совершенного иного плана. Моя цифровая библиотека пополнилась очередной электронной книгой, созданной в формате DJVU. Формат этот замечательный и не случайно я посвятил ему в свое время несколько “Голубятен”. К тому же для различных мобильных платформ сегодня существует много отличных программ, способных быстро и эффективно обрабатывать эту экзотику. Остается лишь сожалеть, что DJVU так и не удалось потеснить PDF с рынка и этот формат так навсегда и остался той самой экзотикой, которая рано или поздно обречена на вымирание и забвение.

Как бы там ни было, хранить, и тем более – читать, электронный книги в DJVU я не люблю, поэтому сразу конвертирую их в PDF (благо экспорт можно произвести внутри самой моей любимой читалки – DJView). Поскольку OCR-слой отсутствует практически во всех сканированных и отлитых в DJVU-формат книгах, размер моего PDF-файла получился традиционно непристойным – 85,9 мегабайта. При том, что DJVU-исходник весил всего 1,6 мегабайт! Согласитесь – не комильфо.

Задача “облегчения” PDF-файлов возникала у меня испокон веков. Я перепробовал десятки способов, задумываясь, в первую очередь, об автоматизации процесса, либо – на худой конце – выработки такого алгоритма, который бы позволил поставить на поток подобное преобразование ( PDF-файлов “хорошо под 100 Мб” у меня в библиотеке скопилось 10148!).

Увы, ничего стоящего и постоянного подобрать не удалось. Самое мое последнее открытие – программа PDF Squeezer, предназначенная специально для сжатия, – показала жалчайшие результаты. Какие – вы сейчас узнаете, поскольку я буду использовать PDF Squeezer в качестве эталона для сравнения. Сравнивать же мы будем с всё той же самой Fopydo, которую совершенно неожиданным образом мне удалось прикрутить к решению поставленной задачи.

467_Squeezer_Extraction

Мы будем оценивать с вами работу программ по двум критериям: качество изображения страниц и размер файла.

Поглядите, как выглядит исходник книги в формате DJVU (открытый в программе DJView):

467_Source DJVU

Я специально выбрал самую сложную и разнообразную в графическом отношении страницу. Напомню, что размер файла в исходном формате DJVU – 1,6 Мб.

Вот как выглядит тот же исходник, преобразованный средствами DJView в формат PDF (выведен на экран Adobe Acrobat XI Pro):

467_Sourse PDF
Размер файла – 85,9 Мб. Визуальных потерь нет никаких, поэтому будем использовать эти скриншоты в качестве эталона.

Смотрим теперь на работу PDF Squeezer. Программа эта с сильно выраженной претензией на профессиональность, поэтому в ней предусмотрены настройки разрешения PDF. Начинаем с самого низкого – 50 DPI:

467_Squeezer_50DPI

Размер файла 5,4 Мб, но смысла в нем нет никакого, потому что читать это, сами понимаете, физически невозможно.

Повышаем разрешение до 75 DPI:

467_Squeezer_75DPI

Размер файла – 11,1 Мб. Результат по-прежнему неприемлемый.

Повышаем разрешение до шаблона “150 DPI Low Quality”:

467_Squeezer_150(low)DPI

Размер файла 15,5 Мб. Это первый результат, который с большой натяжкой можно считать удовлетворительным. Читать этот текст в принципе можно, хотя до исходного качества ему как до луны.

Повышаем разрешение еще выше – до “150 DPI Average Quality”:

467_Squeezer_150(average)DPI

Здесь уже все совсем прилично, однако размер файла полностью перечеркивает весь практический смысл – 36,2 Мб. То есть PDF Squeezer сжал исходный файл всего лишь чуть больше, чем в два раза.

Дальше продолжать эксперименты с PDF Squeezer не стал (в программе есть шаблоны и на 300 и на 600 DPI), поскольку очевидно, что улучшение качества будет сопровождаться дальнейшим увеличением размера файла. Зачем это делать, если 36 Мб – уже неприемлемо?

Полностью разочаровавшись в PDF Squeezer я вдруг вспомнил про Fopydo. Теоретически программа должна с легкостью справиться с поставленной задачей, поскольку на входе у нее предусмотрены не только изображения, но и PDF-файлы (DJVU, к великому сожалению нет: Томек, если Вы меня читаете – нужно непременно добавить :).

PDF Squeezer ужимает исходные файлы очень быстро – буквально за 5-10 секунд. У Fopydo
на полное выполнение цикла ушло 7 минут. Медлительность понятна, поскольку у программы совершенно иной алгоритм: сначала она разбивает исходный PDF на множество JPG-файлов (по одному на каждую страницу книги). Затем ужимает и компилирует в новый PDF-файл.

Вот, что у меня получилось:

467_Fopydo_Sample Page (full size)

Чисто физически размер страницы получился больше (при том же 100-процентном воспроизведении документа в Adobe Acrobat), поэтому я предлагаю еще один скриншот – с уменьшенной страницей PDF-файла, созданного Fopydo, для того, чтобы вам было проще и наглядней сравнивать ее с результатами PDF Squezeer:

467_Fopydo_Sample Page (reduced size)

Для сравнения рекомендую использовать скриншот преобразования по шаблону “150 DPI Average Quality”, поскольку этот результат, единственно сопоставимый по качеству. На мой взгляд Fopydo выполнила свою работу лучше, причем по всем без исключения показателям (от контрастности до алиасинга).

А теперь самое главное: размер PDF-файла, созданного Fopydo, всего 6,6 Мб! Напомню, что “150 DPI Average Quality” хуже и качеством, и размером (15,5 Мб).

Для чистоты эксперимента привожу скриншот PDF-файла, полученного с помощью процедуры “Оптимизации для интернета и мобильных устройств” средствами самого Adobe Acrobat XI Pro:

467_Acrobat

Качество изображения, конечно, отличное, зато размер файла просто неприлично озвучивать – 67,8 Мб (исходник был 85,9 Мб).

Вот такая замечательная и полезная штука – эта Fopydo. Кстати, программа получила в последнем обновлении – версия 2.9 – существенный face lifting: теперь она уже не шокирует своей юниксоидной инопланетностью и не оскорбляет тонкие чувства эстетствующих маководов (меня лично она и раньше не оскорбляла, хотя и удивляла полным несоответствием представлениям о красоте, принятым в нашем палисаднике).

Так выглядит интерфейс извлечения изображений:

467_Fopydo_1. Extraction

Так – сборка множественных JPEG-файлов:

467_Fopydo_2. Binding jpgs
 Это – окно настроек для создаваемого PDF-файла:

467_Fopydo_3. Options

Заключительный аккорд: вчера узнал, что Томек Вардега создал специальную установку (подставку) для сканирования документов и книг любым мобильным устройством (планшетом, смартфоном, цифровой мыльницей и т.п.) и выставил ее на Кикстартере, укомплектовав программным обеспечением (той самой универсальной Fopydo):

467_Kickstarter

Проект собрал за 2 дня 805 долларов. Для запуска производства требуется 50 тысяч, так что мне остается пожелать блестящему программисту успехов и процветания!

Сегодня вторник и по традиции должна идти наша супервикторина, в которой мы разыгрываем суперприз от Supersmoke – подарочную модель электронной сигареты Cubica CC:

444_4

Напоминаю комплектацию лучшего подарка вашим близким и друзьям, страдающим от тяжкого курительного недуга:

Сигарета Cubica – 2 шт.(чёрная и белая)
USB зарядное устройство для аккумуляторов Cubica – 1шт.
USB сетевой адаптер – 1шт.
Сменный нагревательный элемент для клиромайзеров Cubica 2.5 Ом – 7шт.(две
шт. непосредственно в сигаретах)
Инструкция на английском языке – 1шт.(на сайте SuperSmoke.ru можно скачать
инструкцию на русском языке).

Незадача у нас, однако, такая, что никто из читателей так и не сумел угадать язык из предыдущей викторины! При том, что я был абсолютно уверен: угадает сразу и быстро множество читателей. Там же всё очевидно и всё лежит на поверхности. Требуется лишь соединить воедино два логических суждения. Ну что вы в самом деле! Когда узнаете, что это за язык (и КАКОЕ символическое значение имеет этот язык! – подсказка, между прочим:), устыдитесь своей недогадливости.

Ладно, вот вам еще одна подсказка: на этом языке снят даже фильм! В общем слушайте еще раз аудиоклип и немедленно отвечайте на вопрос: “На каком языке в нем разговаривают?”.

Ответы присылайте, как обычно, на sgolub@computerra.ru. Желаю удачи!

PS. Подводить итоги викторины будем в пятницу – в следующей “Голубятне”. Настоятельно рекомендую подписаться на мой твитер @golubitsky, чтобы не присылать мне правильные ответы на квиз после того, как их уже угадали сотни других читателей. В твитере я анонсирую появление “Голубятен” с квизом (равно как и все остальные свои статьи, которые выходят на других порталах) практически в реальном времени. Если уж вы не отгадаете, то по меньшей мере не станете сожалеть о том, что банально опоздали с ответом.