Объединение нескольких PDF в одну (и перевод в оттенки серого) с помощью batch+pdftk+gs

Oct 01, 2015 12:55

Опять на работе встала небольшая задачка, которую удалось решить с помощью 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

техническое, windows

Previous post Next post
Up