Найти тему
Евгений Нефёдов

Печать PDF файлов или разделение на форматы

Оглавление

Основной функционал:

  • определение количества разных форматов в PDF-файле
  • разбивка PDF-файла на форматы
  • распределение форматов по принтерам на печать
  • настройка пользовательских форматов

Под второстепенным функционалом будем понимать различные настройки, выбор листа, копии, просмотр PDF и прочее.

Содержание архива:

PDFPrint.exe – запускаемый файл программы
PdfiumViewer.dll – компонент программы служащий для отображения PDF файла.
pdfium.dll – компонент программы служащий для работы с PDF файлом (в папках: nl, х64 и х86)
itextsharp.dll - компонент программы служащий для работы с PDF файлом
listformats.xml – Текстовый файл формата XML служащий для задания размеров страниц.

Запуск и работа

Перед работой программы необходимо дополнить файл listformats.xml, размерами, не присутствующими в нем.

Для запуска программы необходимо выполнить файл PDFPrint.exe.

Окно после запуска программы
Окно после запуска программы

Кнопкой «Открыть файл» выбираем PDF файл с которым будем работать.

Выбрав файл, программа осуществляет следующие операции:
1. Чтение файла
2. Разбор файла на страницы с определением размеров каждой страницы. Если размер страницы не найден в файле listformats.xml будет выдано предупреждение.

После загрузки файла появиться окно
После загрузки файла появиться окно

Кнопка «Перезагрузить файл» предназначена для перезагрузки (заново перечитывается файл) чтобы, можно было добавив/изменив файл listformats.xml получить заново параметры страниц.

Левая часть окна представляет собой элемент для просмотра PDF-файла. 4 верхние кнопки «По ширине», «По высоте», «Лучшее», «Увеличить», «Уменьшить» служат для изменения масштаба, просматриваемого PDF файла.

Отправка на печать

Правая часть окна предназначена для выбора страниц, отправляемых на печать.

Страницы, отправляемые для печати, могут быть или все, или выборочно.

При выборе вида печати «Выборочно» появляется блок вида
При выборе вида печати «Выборочно» появляется блок вида

В этом блоке можно установить диапазон печатаемых страниц и число копий для каждого диапазона, можно удалить диапазон нажав правую кнопку и выбрав «Удалить строки».

Кнопка «Подготовка печати» служит для перехода к следующему этапу – выбору: принтеров, формата бумаги, установки формата бумаги используемого принтером и установки источника бумаги.

Подготовка печати
Подготовка печати

Выбор принтера осуществляется нажатием на кнопку под соответствующим принтером. На один формат можно выбрать один принтер. После нажатия происходит следующее:

По имени формата ищется, имеется ли соответствующий формат бумаги в принтере, если такой найден он устанавливается в поле формат бумаги.

Если не найден, тогда проверяется, а не повернутый формат, если формат повернутый тогда устанавливается что необходим поворот и устанавливается форма бумаги принтера без поворота.

Если так формат не найден тогда ищется по размерам, если по размерам найден в формат бумаги, то он устанавливается в соответствующем поле.

Если не найден ищем, что формат страницы может быть повернут.

Если так не найдено, то задается вопрос о добавлении формата страницы к списку форматов бумаги принтера.

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

Источник бумаги выбирается вручную.

Кнопка «Печать»:

Сначала определяется заполнены ли все необходимые данные, т.е. в строке формат, формат бумаги, источник бумаги должны быть заполнены все 3 поля. Заполненные данные помещаются в специальный массив – назовем его «рабочие форматы», только форматы имеющие заполненные поля буду печататься.

Если имеются «рабочие форматы» тогда рядом с PDF файлом создается папка TEMP, в которой создаются подпапки по именам рабочих форматов.

Дальнейшие действия выполняются в параллельном режиме, по числу «рабочих форматов». Число параллельных потоков берется по числу логических ядер процессора, имеющихся на компьютере, где запущена программа.

Исходный файл разделяется на страницы, при этом каждая страница кладется в папку, соответствующую формату.

Следующий шаг: при необходимости производится разворот страниц.

Затем производится печать файлов.

Определение количества различных форматов в PDF

Часто требуется проверить правильность форматов в файле перед печатью или посчитать количество форматов.

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

Разделить файл на листы по форматам

Для разделения файла на форматы нужно нажать кнопку «разделить файла на страницы». Рядом с файлом появится папка TEMP в которой появятся папки найденных форматов с соответствующими листами. Для удобства извлеченные листы именуются номером страницы из исходного PDF.

Программа скомпилирована под AMD. Под intel появится на сайте в скором времени.

PS

Программа распространяется бесплатно! Бессрочное использование.
Для благодарности
программу можно купить и скачать по ссылке:
https://www.digiseller.market/asp2/pay_wm.asp?id_d=2727702&lang=ru-RU

http://ries.pro/index.php/informatsiya/besplatnye-skripty/101-pechat-pdf-fajlov-ili-razdelenie-na-formaty