?

Log in

No account? Create an account

Дневник беременного кодера


Previous Entry Share Flag Next Entry
Объединение нескольких PDF в одну (и перевод в оттенки серого) с помощью batch+pdftk+gs
ФНС
adm_alexus
Опять на работе встала небольшая задачка, которую удалось решить с помощью batch-скриптов и стороннего OpenSource софта. Итак, начну по порядку:


Вообщем ситуация следующая. У нас есть электронная подписка на некое печатное издание. Издательство предоставляет файлы в таком виде:

Т.е. каждая страница (полоса) газеты находится в отдельном PDF файле. Неудобно? Не очень, но в принципе терпимо.
А теперь внимательно посмотрите на размер файлов... Почти 79 Мб - один номер газеты. Это же !"№;% Архив с такой газеткой даже не пропускает корпоратинвый Exchange (почтовый сервер). А газета выходит практически каждый день, и ежедневно ее надо отправлять практически всем сотрудникам.
Вообщем вот что я придумал:
1. Берем такие известные Linux'оидам (и возможно не очень известные поклонникам других ОС) утилиты как:
PDFtk Server
GhostScript
2. Выдираем из них нужные нам исполняемые файлы и библиотеки.
3. Делаем batch-скрипт который все это в нужной последовательности и с нужными ключами запускает.
Чтобы мои сотрудники не заморачивались с запускам батника и т.п. сделал такой SFX-архив (по старой доброй традиции за отсутствие вирусов отвечаю самостоятельно).
После запуска архив скопирует вам в корень диска C папку с исполняемыми файлами программы, а также сделает на рабочем столе ярлычок

Теперь чтобы объединить несколько PDF файлов в одной папке (и сделать их в режиме оттенки серого) достаточно перетянуть нужную папку на этот ярлычок (как я прусь от самого себя и возможности Drag'n'drop:).

По прошествии некоторого количества времени (и мелькания нескольких окошек) вы получите готовый pdf файл под именем output-gray.pdf (он будет находиться в той папке, в которой у вас лежит папка с изначальными PDF).


Кстати на моем примере размер конечного файла получился 6,9 Мб (без видимой потери качества.
Пользуйтесь на здоровье, все вопросы можете задавать в комментариях.

P.S.:
Если вы хотите написать про "Качать что-то исполняемое, неизвестно от кого, неизвестно что..." то вам я думаю просто не нужно качать. Т.к. вы и сами отлично можете решить данную проблему.

[Для особо сомневающихся - сам скрипт]
::Полный текст батника, который используется.


::Запускаем pdftk, передаем в него путь до папки с PDF, делаем output.pdf

C:\pdftk\pdftk.exe "%~d1%~p1%~n1%~x1\*.pdf" cat output output.pdf compress

::Запускаем Ghostscript и передаем в него output.pdf, чтобы на выходе получить output-gray.pdf в оттенках серого

C:\pdftk\gswin32.exe -sDEVICE=pdfwrite -dProcessColorModel=/DeviceGray -dColorConversionStrategy=/Gray -dPDFUseOldCMS=false -o %~d1%~p1\output-gray.pdf -f output.pdf


::Удаляем output.pdf (объединенный-цветной)

del output.pdf


Posts from This Journal by “windows” Tag

  • О запрете работы USB-устройств.

    Запись опубликована Бложек Alexus'a. Вы можете оставить комментарии здесь или тут. Дано: Компьютер (ОС Windows XP), Одобренная USB-флешка…

  • Смена шлюза и DNS скриптом

    Запись опубликована Бложек Alexus'a. Вы можете оставить комментарии здесь или тут. Сейчас на работе возникла задача сменить на всех машинах…

  • Наконец-то

    Наконец-то нашел в себе силы и время для перехода на Windows 7 Ultimate. Конечно было немного жаль старую добрую Windows XP Pro, которая верой и…