Консольная утилита буквально для одного кейса. Обновляться будет по мере обнаружения возможных багов. Нет обработчика ошибок, поэтому готовьтесь к System.Exception.
Задача у этой утилитки такова: из папки с кучей pdf сгенерировать zip архив размером не более 20 мегабайт, а если случилось невероятное и количество файлов в папке никак не укладывается в 20 мегабайт — создать многотомный архив. Задумывалась эта программа для формирования аттачей к информационной системе.
Настраивается утилита через файл конфигурации, в который требуется прописать папку с целевыми pdf-файлами и указать максимальный размер архива.
К примеру, имеется сетевое МФУ, которое сохраняет сканы в условную сетевую папку SCAN на файловом сервере. В файле конфигурации указывается путь до сетевого каталога \\fileserver\scan\.
Далее указывается максимальный размер архива или тома. По умолчанию выставлено 20 мегабайт.
В итоговом варианте файл конфигурации должен выглядеть так:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> </startup> <appSettings> <add key="DefaultPath" value="\\fileserver\scan\"/> <add key="Size" value="20"/> </appSettings> </configuration>
Конфигурация настроена. Теперь можно запускать программу.
Утилита проведет оптимизацию pdf файлов и сложит их во временную папку на рабочем столе. После этого сгенерируется zip архив. На самом последнем этапе будет удалена временная папка, а целевые файлы перемещены в папку с текущей датой в директории \\fileserver\scan\.
Архив zip сохранится на рабочем столе текущего пользователя.
Программа написана на c#. Для работы необходим .Net Framework 4.5.2.
Скачать .Net Framework с этого сайта: 4.5.2 | 4.7.2 | 4.8.1.