
Содержание
- Назначение программы
- Возможности (функционал) генератора
- Почему «Ceres» сейчас must have?
- Системные требования
- Описание алгоритма создания PDF
- Описание настроек программы
- Описание входных файлов данных
- Описание макросов генератора
- Описание входного текста и примеры допустимой html-разметки
- Встраивание Ceres в рабочие процессы и управление конфигурацией
- Использование CERES в связке с AMS Enterprise
- Условия приобретения и использования
- Регистрация и активация программы
- FAQ – Часто задаваемые вопросы
Назначение программы
Генератор «Ceres» предназначен для создания уникальных PDF файлов в автоматическом режиме. Для последующего использования этих PDF в белых и прочего цвета рассылках. Рассылках разными способами (email, мессенджеры, социальные сети и тому подобное). Сочетает возможности рандомизации по максимуму всего возможного (для запутывания анализаторов почтовиков, мессенджеров и увеличения инбокса) и персонификации вашего предложения адресату (для увеличения доверия конечного получателя и формирования статистики рассылки на вашей TDS) по предварительно загруженной базе с email адресами и 13-ю дополнительными полями. Кстати, персонификация в тексте PDF в теории может также положительно отразится на инбоксе. Программа обладает множеством настраиваемых параметров, которые влияют как на внешний вид, так на структуру создаваемых PDF файлов.
На момент выпуска софта функциональных аналогов автор не знает 🙂
Полученные PDF файлы можно использовать:
- Для массовых рассылок (чтобы запутать анализаторы почтовиков, сделать аттачи максимально непохожими друг на друга и скрыть истинную ссылку среди других);
- Для сбора реакций и выделения «живой, кликающей» части базы после одного или нескольких просылов. С помощью персонифицированной ссылки с email получателя и ее обработкой в вашей ТДС;
- Для сегментации по интересам имеющихся отвалидированных баз через встраивание 1 основной и 6-ти дополнительных ссылок. Эти ссылки можно присваивать как тексту, так и к картинкам (1 основная + 4 дополнительных ссылки). Нечто вроде А-Б тестов в рамках одного PDF.
- Для создания «Витрины офферов» в рамках одного pdf файла – когда на дополнительных страницах на каждой отдельной картинке стоит своя ссылка, ведущая на разные офферы.
- Для рассылок с другими видами реакций, отличными от перехода по ссылке (голосовой звонок по указанному номеру телефона, отправка смс на указанный номер телефона, считывание QR-кода и, возможно, ты дополнишь этот список чем-то еще 🙂
Огромное количество изменяемых параметров дает возможность проводить множество тестов для пробива почтовиков, увеличивая на дистанции шансы инбокса. Но не забываем, что любой инструмент лишь дополняет прокладку между компом и сидением 🙂

Большинство настроек генератора снабжено всплывающими подсказками на русском и английском языках, которые помогут быстро его освоить. Перед использованием крайне необходимо ознакомиться с настоящим руководством для понимания что на что влияет, как и в какой последовательности работает. Также в руководстве описаны все файлы с исходными данными и используемые макросы — эта информация потребуется для максимально полного использования всех возможностей генератора.
Возможности (функционал) генератора
Общие возможности:
- Генерация одиннадцати видов взаимного расположения картинки и текста первой страницы PDF. Автоматический случайный выбор варианта компановки при генерации каждого файла.
- Автоматическое добавление к основному изображению задаваемых пользователем изображений. К примеру, добавление кнопок с призывом к действию (“Играй – Play”, “Нажми – Click”, “Смотри – Watch” и т.п.) – так называемые CallToAction Button (CTA Button). Размер и положение накладываемой кнопки регулируются. Можно добавить кнопку ниже глдавного изображения, а можно наложить и на само главное изображение. Можно накладывать любые пользовательские изображения. Есть поддержка png-файлов c прозрачностью. В комплекте с генератором идет набор из 317 готовых кнопок CTA Buttons. Кнопки представлены на двух языках – английском и русском и сгруппированы в 10 тематических наборов отдельно по языкам. Полное описание опции смотрите тут.
- УНИКАЛЬНАЯ опция удаления (обрезки) свободного (незанятого контентом) пространства внизу первой страницы. Сделано для более крупного визуального отбражения PDF при просмотре в браузерах. Если заданный в шаблоне контент не помещается на одной странице, то обрезка производится на последней странице. Такого нет ни в одно мне известном генераторе. И скорее всего нигде такое не появится, так так требует глубокого знания особенностей внутреннего описания формата PDF.
- Возможность проставления как единой ссылки на всю первую страницу, так и отдельно по элементам страницы (на картинку, на анкор-текст, просто в тексте). Также можно отключить единую ссылку и ссылку с картинки (ссылки в тексте при этом останутся) – для создания пдф, в которых не надо переходить по ссылке и требуется иное целевое действие. В тексте можно отдельно прописывать все доступные 7 видов ссылок через макросы-анкоры, два из которых можно использовать как источники дополнительного случайного текста или заранее сгенерированных построчно цифр и кодов.
- Уникализация каждой помещенной в PDF картинки посредством обработки настраиваемыми графическими фильтрами. Виды фильтров настраиваются отдельно для первой и последующих страниц. Возможно как жесткое указание фильтра, так и случайный выбор для каждой картинки. Настройка количества проходов фильтром картинки. Все это позволит из 100 фото на входе получать неограниченное количество уникальных фото на выходе и не возиться с уникализацией фото отдельно при подготовке данных.
- Возможность добавления случайно выбираемого файла из отдельной папки на фон первой страницы. Возможность добавления случайно выбираемого файла из отдельной папки на фон дополнительных страниц. Для создания фирменных бланков, отчетов и подобного.
- Динамическая генерация QR-кода из случайной выбранной главной ссылки (qr-код заменяет фото на первой странице).
- Опция добавления случайного числа пустых страниц после первой (диапазон количества «от» и «до» настраивается).
- Генерация дополнительных страниц из 6-ти разных видов (всего 17 вариаций, вместе с опцией “не делать допстраниц”). Количество определяется также случайным образом в настраиваемом диапазоне «от» и «до». Обычно используются для маскировки, но могут нести и полезный контент – смотрите далее.
- Возможность использования дополнительных страниц как витрин офферов, когда каждой картинке соответствует своя ссылка. И картинки берутся не из общей кучи, а отдельно на первую полосу и отдельно на четыре позиции в допстраницах (смотрите примеры сгенерированных PDF). Т.е. получаем уже своеобразную воронку сегментации без возни с отдельными лендингами на хостингах и впс.
- Задание как жестких размеров страницы, так и возможности их варьирования в заданной процентном диапазоне при генерации каждого файла. Максимальная высота страницы увеличена до 99000 мм, что позволит делать длинные одностраничные pdf.
- Возможность выбора цвета для основного текста, бредотекста первой страницы и бредотекста дополнительных страниц отдельно. С опцией изменения цвета в каждом файле в заданном диапазоне.
- Задание диапазона размеров шрифта основного текста со случайным выбором из него.
- Задание диапазона размеров шрифта бредотекста со случайным выбором из него.
- Настраиваемые диапазоны отступов до и от полезного контента первой страницы (для подгонки под фоновые изображения в том числе).
- Возможность выбора из 8-х шрифтов для каждого генерируемого PDF. Выбор как явно заданного шрифта для всех пдф, так и случайный выбор из 8 вариантов.
- Для удобства возможность выбора через графический интерфейс 9 рабочих каталогов и 15 рабочих файлов + еще несколько файлов исходных данных можно модифицировать.
- Генерация выходного имени PDF файла четырьмя способами, случайными выбором из трех их комбинаций и создание имени файлов по маске-шаблону с поддержкой макросов и спинтакса!!!
- Опция записи файлов при каждой генерации PDF в отдельный каталог с уникальным именем из текущей даты-времени.
- Возможность генерации как текущего времени создания файла, так и случайного в диапазоне 5-ти летней истории + случайный выбор из перечисленных. Это время прописывается внутри PDF. Также это время создания ставиться на физический файл pdf.
Возможности по работе с текстом и его уникализации :
- Генератор понимает Spintax во входном файле и поддерживает работу со множеством исходных файлов сразу, выбирая в случайном порядке один из них при генерации конкретного PDF.
- Во входных файлах для основного текста поддерживается 37 макросов замен разных типов: 1) макрос маскировки спам-слов; 2) email-макросы вставки значений из полей входной базы данных; 3) файловые макросы для вставки случайной строки из текстовых файлов (создаются пользователем, похожи по смыслу на макросы-переменные из MailerKing`a); 4) макросы для работы с картинками; 5) макросы текущих дат в разных форматах + завтра и вчера, времени, года, месяца, дня недели и т.п.; 6) макросы генерации случайного значения из букв, цифр и их сочетаний (не изменяемые в пределах одного текста и заново генерируемые при каждом вызове).
- HTML-тэги форматирования текста (центрирование, стили – жирный, курсив, подчеркивание; изменение цвета и размера шрифта), тег создания гиперссылок «a href=» (для маскировки адреса перехода), базовые табличные теги, вставка изображения и некоторые другие.
- Добавлена возможность использования простого текста во входных файлах. Для этого первой строкой такого файла надо поставить макрос
&&&text&&&. Если такого макроса нет, то входной текст по умолчанию обрабатывается HTML-парсером. В режиме простого текста не надо принудительно обозначать перенос строк кодом <br> или оборачивать текст в тег параграфа <p></p>. И станут недоступны оформление шрифта текста, вставка гиперссылок (маскировка ссылки текстом) и прочие html-атрибуты. - Для рассылки на бурж и RU в генераторе уже есть готовые наборы женских и мужских имен и фамилий, которые доступны из файловых макросов.
Возможности для персонификации PDF:
- Возможность добавлять к ссылкам настраиваемые окончания с email реципиента (адресата) для последующей обработки таких ссылок в системах распределения трафика (ZTDS, Keitaro и прочих) и анализа перешедших по этим ссылкам. Также создается файл соответствия со строками вида: email – имя pdf-файла. Такие персонифицированные PDF надо рассылать софтом, поддерживающим персонализацию вложений. AMS Enterprise Макса Терентьева после редакции 2.9.17 имеет такую функцию (работа с АМС описана далее в этом руководстве).
- Возможность кодирования email адресата в окончаниях полезных ссылок в форматах Base16, Base32, Base64 для маскировки email. Также можно оставить email в явном текстовом виде без кодирования.
- Возможность использовать 14 полей из импортированной базы данных с email адресатов. Вы можете в гибком виде описать формат импорта базы с почтами и потом с помощью 18 email-макросов вставлять значения этих полей в свой креатив. Имя, фамилия, отчество, город, язык, возраст, адрес, email и так далее. Любые 13 полей + email как базовое поле.
- При работе в режиме SuperLink (персонализация ссылок в PDF) можно фильтровать входную базу email адресов и убирать из нее те, которые частично совпали с содержащимися в файле со стоп-словами. Есть 2 готовых файла со стоп-словами: общий и общий+женские иностранные имена для дейтинг рассылок по буржу мужикам (чтобы из базы убрать потенциально женские почты – содержащие женские имена). Вы можете сами настраивать файл со стоп-словами под свои нужды. Но эта опция не для больших объемов, так как работает не быстро.
- Для именования выходного pdf теперь доступен весь перечень имен файлов из опции «Имя PDF-файла на выходе» (6 вариантов) + опция именования pdf файлов по соответствующей почте из файла c email-базой.
Возможности для маскировки и запутывания почтовиков:
- Добавлен макрос для маскировки текста от анализа почтовиками содержимого PDF. Применяется разбитие текста на части при визуальной целостности. Может помочь убрать из поля зрения почтовика слова спам-тригеры (крипта, криптовалюта, порно, porno, секс, sex, ставки, заработок и т. п.).
- Присутствует возможность дополнительного внедрения маскировочного «мусорного» так называемого «бредотекста» вверху, внизу или в обоих местах сразу для первой страницы. Бредотекст может браться как из файлов (можно использовать множество файлов), так и генерироваться автоматически в латинской или кирилической раскладке в случайном объеме из заданного диапазона значений длины.
- Опция подключения на каждый абзац бредотекста своей маскировочной активной внешней ссылки (для максимального запутывания почтовиков в маскировке истинной ссылки).
- Генерация дополнительных страниц с бредотекстом и/или векторными рисунками – графическими примитивами, на каждый из которых вешается своя маскировочная мусорная ссылка.
- Библиотека из чуть менее 900 предварительно отобранных графических примитивов для использования на дополнительных маскировочных страницах. Библиотеку можно самостоятельно менять и дополнять, увеличивая еще более уникальность генерируемых PDF.
- Генерация шести полей в META-тегах PDF файлов (из соответствующих отдельных файлов). Может использоваться как для уникализации, так и для «белой» работы с этими параметрами и их последующим использованием по назначению (см. далее). Два режима работы – генерация по данным из файлов (получается подобие некой осмысленности 🙂 и случайным образом из латинских символов (для 4-х метатегов, оставшиеся два для достоверности должны быть сгенерированы из реальных параметров).
- Улучшеный алгоритм генерации мета-тегов (с данными из файлов) – в разы большая уникализация и подобие некой осмысленности 🙂
Примеры:
metadata_title: Committee understand maintain training confront muslim
metadata_author: Ballard Campbell
metadata_keywords: president young minute
metadata_subject: Supporter enemy understanding imagination - Добавлена генерация пустого метатега с задаваемой вероятностью (100% – будет пустой всегда, 0% – не пустой всегда)
- Добавлена генерация метатегов из случайных латинских символов (только метатеги: title, author, subject, keywords).
Примеры:
metadata_title: Liecunvojys kcrbwah hixg bd
metadata_author: Ccnwgaunwm Jyyqjmuixwhb
metadata_keywords: zub fquzorqysfwm ofctf anxygujzrxv dpxitgms
metadata_subject: Cchm zcplzbjo ergkrhylpsz qsow qacxtjhgaomg hih ftbcbwvvqlcheap murder competitive fashion fresh initial advocate - Теперь для генерации бредотекста можно использовать сразу множество файлов (а не один, как было), поместив их в каталог «pdf_res/bredotext».
- Добавлена возможность псевдо-рандомизации внешних ссылок в PDF путём добавления к ним различных окончаний. К примеру, анкорной конструкции вида «#asgf423s». Окончания можно задавать в виде шаблона с поддержкой ряда макросов (даты, времени, случайных чисел и произвольно генерируемых строк). Режим работы этой опции можно выбирать из 9-ти вариантов.
- Две опции шифрования содержимого PDF по алгоритму AES с использованием 128 битного ключа: полное шифрование (для открытия требуется пароль и содержимое такого PDF файла не доступно совсем анти-спам анализаторам почтовых систем), частичное шифрование контента (запрет на извлечение контента, модификацию файла, чтобы анти-спам системы получили доступ к содержимому для анализа требуется затратить немного процессорного времени на раскодировку).
Есть возможность задания как пользовательского пароля, так и генерацию случайного пароля с записью этих паролей в файл соответствия имени PDF.
Эта опция – еще один параметр для тестирования в поисках улучшения инбокса 🙂
Для более детального понимания формата PDF и шифрации в нем читайте мою статью тут. - Реализовано удаление мета-данных (EXIF, комментарии) из загружаемых картинок. Это сделает каждый PDF файл более уникальным по отношению к другим PDF, созданным c одинаковыми настройками генератора.
Внимание! Для картинок из каталога “pictures_user_set”, обрабатываемых сторонним HTML-парсером, удаление мета-данных не производится. Поэтому вам необходимо вручную удалить мета-данные из этих картинок перед их использованием через встраивание в html-код. - На вкладке “ANTI-BOT” интерфейса программы представлен новый набор инструментов для затруднения работы фильтров почтовых систем. Среди них:
- добавление на страницу в случайных местах очень маленьких векторных графических примитивов с активными внешними маскировочными ссылками.
- преобразование всех элементов первой страницы в растровую картинку – делает невозможным прямое извлечение текста из PDF и его анализ фильтрами почтовых систем. Анализ будет возможен только после операции оптического распознавания контента OCR с переводом в текст для последующего анализа.
- добавление сверху на полученную растровую картинку с изображением первой страницы специальных графических элементов с прозрачностью для затруднения работы алгоритмов распознавания текста (OCR) с растровых картинок.
- Опция наложения нескольких графических фильтров на полученную растровую картинку из 1-й страницы (размытие, сглаживание, выделение краев, выдавливание).
- Добавлен режим искажения изображения 1 страницы (геометрическое + наложение шума и доп. размытия) также для противодействия системам OCR (оптического распознавания текста).
- Экспериментальная опция. Режим наложения полу-прозрачного изображения на 1-ю страницу сверху.
- Экспериментальная опция. Режим добавления камуфляжного элемента 0 в начале файла. В теории должен вызывать некоторый сбой парсеров pdf файлов, т.к. элемент не соответствует стандартам.
- Экспериментальная опция. Режим добавления камуфляжного 1 ближе к концу файла. В теории должен вызывать некоторый сбой парсеров pdf файлов, т.к. элемент не соответствует стандартам.
Возможности удобства, автоматизации и встраивания в рабочие процессы:
- Добавлена работа с файлом конфигурации: сохранение, запись и сброс на настройки по умолчанию. На старте генератора производится автозагрузка конфигурации, при выходе – автозапись конфигурации.
- Добавлена возможность коррекции путей к файлам ресурсов в конфигурационном файле – производится замена прописанных ранее путей на правильные стандартные пути для текущего местоположения генератора. Опция нужна при переносе папки с генератором в другое место или при использовании конфигурационного файла от другой копии генератора.
- Добавлена работа с указанным в строке запуска конфигурационном файлом. Пример запуска с конфигурационным файлом «config.ini»: ceres_v1-40_prot.exe –config=config.ini
- Добавлена опция автоматического выхода из программы после окончания генерации.
- Добавлена опция автоматического старта генерации PDF после запуска программы в текущей конфигурации.
- Добавлена опция удаления существующих файлов в выходном каталоге при старте генерации.
- Добавлена опция запуска внешней программы после нажатия START перед генерацией PDF -запускается только BAT-файл (*.bat) и генератор ОЖИДАЕТ окончания его работы перед стартом генерации PDF.
- Добавлена опция запуска внешней программы после окончания генерации PDF.
- Добавлена кнопка прерывания процесса генерации «Stop generation».
- Улучшены диалоги выбора файлов: добавлено отображение текущего выбранного файла при открытии диалога. Переписана логика диалогов выбора каталогов: теперь показывается текущий каталог при открытии диалога.
- Опция включения/отключения звукового сигнала по завершении генерации PDF.
Почему «Ceres» сейчас must have?
Не секрет, что в мире email рассылок наступила новая эпоха, в которой отправки писем сотнями тысяч с хорошим инбоксом ушли в прошлое. Все сложнее добывать качественные расходники для рассылок. Все сложнее проходить спам-фильтры. Все дороже становится получение лида. Пора менять подход к рассылкам со стрельбы из пушки по воробьям на точечную стрельбу из снайперской винтовки со значительно большей монетизацией (в разы, а то и десятки раз). Для этого просто необходим предварительно чистить полученную базу от невалида и мусора. А затем доставать из нее живых, кликающих адресатов. И далее сегментировать этих живых по интересам (вертикалям). И тогда каждый просыл по полученной базе будет давать прекрасный финансовый отклик для вас и дарить прекрасное настроение. Вот к чему следует стремиться сейчас.
«Ceres» позволяет без работы с сегментирующими лендингами, хостингами и впс проводить отбор живых в базе а также сегментировать этих живых по каким-либо критериям.
Рассылка вложением PDF убирает ссылку из тела письма – основной фокус пристального внимания спам-фильтров почтовиков.
Генератор «Ceres» способен дополнительно замаскировать вашу ссылку внутри PDF файла среди множества других ссылок. И вполне способен уменьшить поток ботов на вашу TDS.
Также использование сгенерированных «Ceres» PDF для почтового вложения дает возможность почтовикам убедиться в безопасности этого PDF — в том что в этом файле нет никаких логгеров, стилеров и прочих вредоносов. Так как структура PDF открыта для сканирования и анализа встроенных антивирусов почтовиков (включение шифрования содержимого может усложнить эти процедуры, но не сделает их невозможными, к сожалению).
«Ceres» может помочь и в скрытии слов спам-тригеров путем разбивки последних на части для затруднения анализа почтовиками.
Поддерживается работа с файлами конфигурации, автостарт генерации при запуске программы и выход из программы после окончания генерации. Все это позволяет интегрировать «Ceres» в вашу непрерывно действующую систему рассылки.
На момент выхода в продажу генератор «Ceres» уникален. Уникален по своим возможностям и видам генерируемых PDF файлов. Ценовой порог и защита позволят ему определенное время оставаться малораспространенным и по-прежнему уникальным. И владельцы генератора смогут превратить эти особенности в деньги при условии работы головой и соответствия реалиям 🙂
Системные требования
«Ceres» был скомпилирован на Windows 10, 64bit OS. Также запускался на: Win 11, Windows Server 2016, 2019, 2022. В том числе на VPS/VDS. На других версиях и разрядностях винды не тестировался. Кроме этого каких-либо особенных требований нет.
Алгоритм создания PDF
При старте генерации идет считывание заданных в интрефейсе параметров. Затем идет считывание данных из всех задействованных файлов.
Если включен режим «SuperLink», то считывается файл с e-mail адресами и дополнительными полями данных. Если также включен режим фильтрации по стоп-словам, то перед генерацией PDF из базы удаляются все email`ы, в которых есть вхождения из файла со стоп-словами. В режиме «SuperLink» не работает параметр задания количества файлов для генерации и количество получившихся файлов зависит только от количества финальных email`ов в базе, оставшихся после фильтрации. Если фильтрации не было, то исходная база адресов остается в неизменном составе. Далее все почты базы приводятся к строчному написанию.
Если была осуществлена фильтрация по стоп-словам, то удаленные из исходной базы адреса с совпадениями по стоп-словам записываются в файл со следующим именем — ‘имя исходной базы + окончание -deleted.txt’. Очищенная база записываются в файл со следующим именем — ‘имя исходной базы + окончание -clean_result.txt’.

На этом скриншоте цифрой 1 обозначена исходная база, цифрой 2 – очищенная база для последующей генерации PDF файлов по ней и цифрой 3 – удаленные после фильтрации из исходной базы адреса.
В выходном каталоге (‘pdf_out’ по умолчанию) создается CSV-файл с данными для AMS Enterprise со следующим именем — ‘имя исходной базы + окончание -clean_result_AMS.csv’. Или этот файл создается в динамически создаваемом подкаталоге, если включена опция «Создавать подкаталоги» вверху вкладки параметров «Extra». В этом файле построчно прописывается какому email из базы какой сгенерированный PDF соответствует. Пример строки: caroline-hoffner@gmail.com,11.pdf По режиму «SuperLink» закончили.
Далее запускается процесс генерации PDF файлов. Генерация требуемого количества идет последовательно. Для каждого из создаваемых файлов программа исходя из настроек генерирует свой состав, структуру, размер, текст, картинки, мета-теги, дату и время создания и имя выходного файла.
Создание каждого PDF файла начинается с создания первой страницы.
Как делается первая страница:
- Определяется вид (структура) первой страницы.
- При необходимости генерируется бредотекст в начале 1-й страницы. Бредотекст – для него берется текст из файла или генерируется из выбранного набора символов (латинский или русский). Предназначен для дополнительной рандомизации PDF файла и запутывания нейросетей-анализаторов почтовиков при оценке поступающих к ним писем.
- Далее идет создание основного контента 1-й страницы (в зависимости от выбранной опции). Это может быть только картинка (или QR-код на ее месте), только текст, картинка и текст в различных визуальных сочетаниях и случайный вариант из этих наборов.
- Затем при необходимости генерируется бредотекст в конце 1-й страницы.
ВНИМАНИЕ! Алгоритм создания страницы последовательно создает и размешает на поле страницы заданные элементы. Алгоритм не старается всунуть все заданные элементы на страницу путем уменьшения их размера, с единой целью чтобы все поместилось. Поэтому возможна ситуация, когда все элементы на одну страницу попросту не поместятсяи будут перенесены на новую созданную страницу. И завершающий бредотекст часто может оказаться в списке не уместившихся элементов. После не влезшего полностью основного текста большого объема или написанного крупным шрифтом, например. Подбор оптимальных параметров надо будет производить в ручном режиме и смотреть на получившийся результат.
Затем идет вставка заданного количества пустых страниц (если они должны присутствовать).
Далее идет генерация необходимого количества дополнительных страниц выбранного типа.
Если включена опция шифрования, то содержимое файла надежно шифруется. Затем файл записывается в выходной каталог (или динамически генерируемый подкаталог) с именем, формируемым по заданному в опции «Имя PDF-файла на выходе» (находящейся внизу 2-й вкладки с параметрами «Внешний вид») виду.
ИНФОРМАЦИЯ! При включенном режиме «SuperLink» ко всем значимым ссылкам в PDF (не мусорным-маскировочным) добавляется окончание, содержащее задаваемую пользователем в поле «Префикс для email в результирующей ссылке» часть + email адресата. Это отключаемая опция. Также возможно кодирование email в в форматах Base16, Base32 и Base64. В итоге получаются ссылки вида: http://link.com?q=email@mail.com
Описание настроек программы
ВНИМАНИЕ! При запуске генерации PDF файлов (нажатии на зеленую кнопку «START GENERATION») программа фиксирует текущее состояние настроек. Изменение настроек в процессе работы программы не оказывает влияния на уже запущенный процесс генерации PDF.
Справа внизу интерфейса софта находятся: окно установки количества PDF файлов для генерации, индикатор прогресса генерации (изменяется по файлово, поэтому при запуске в режиме SuperLink при большой базе может несколько минут не меняться), кнопка «Start generation» запуска процесса генерации и кнопка прерывания генерации «Stop generation».

Вкладка «Структура» — «Structure»
Параметры этой вкладки отвечают за визуальную структуру и постраничный состав будущего PDF файла.

«Компановка элементов на первой странице»
Возможные варианты:
- 00. Картинка без текста
- 01. Текст без картинки
- 02. Картинка слева, текст справа
- 03. Картинка справа, текст слева
- 04. Картинка сверху (авто-размер), текст снизу
- 05. Картинка снизу (авто-размер), текст сверху
- 06. Случайный вариант из 0,1
- 07. Случайный вариант из 2,3
- 08. Случайный вариант из 4,5
- 09. Случайный вариант из 2,3,4,5
- 10. Случайный вариант из 0,1,2,3,4,5
- 11. Картинка сверху (50% ширины), текст снизу
- 12. Картинка сверху (30% ширины), текст снизу
- 13. Картинка сверху (20% ширины), текст снизу
- 14. Картинка снизу (50% ширины), текст сверху
- 15. Картинка снизу (30% ширины), текст сверху
- 16. Картинка снизу (20% ширины), текст сверху
- 17. Случайный вариант из 11,12,13
- 18. Случайный вариант из 14,15,16
- 19. Случайный вариант из 11,14
- 20. Случайный вариант из 12,15
- 21. Случайный вариант из 13,16
Продемонстрирую, как выглядят основные опции компановки:












«Ссылки на первой странице»
Возможные варианты:
- 0. Одна ссылка на всю площадь страницы.
- 1. Ссылка на картинку LINK, ссылки в тексте – анкорами.
- 2. Нет активных ссылок, кроме ссылок в тексте
Вариант 0 позволяет поставить главную ссылку из файла “main_links.txt” на всю площадь страницы, т. е. в какое бы место страницы ни кликнул адресат, произойдет переход по ссылке. Если на странице присутствует бредотекст с мусорными ссылками (что такое мусорные ссылки – смотрите в части описания параметров бредотекста), то он будет перекрыт сверху одной вашей ссылкой.
Вариант 1 на главное изображение первой страницы ставится главная ссылка из файла “main_links.txt”, ссылки в тексте прописываются отдельно – явным образом через html-разметку <a href=»&link&»> (смотрите описание входного формата текста) – что позволит скрыть от адресата сам адрес перехода, либо напрямую – указанием URL ссылки. Также можно использовать подстановки из встроенных макросов и файловых макросов (задаваемых пользователем). Вариант 1 позволяет дополнительно разместить на первой странице маскировочные «мусорные ссылки» бредотекста, которые сделают не однозначным для почтовика определение конечного адреса перехода 🙂 Также в тексте можно описать различные сценарии поведения пользователя и сделать для каждой ситуации свою ссылку. Например, можно устроить текстовый опрос по интересам или иным критериям для сегментации базы. Таких ссылок (анкоров) может быть определено всего 6 штук, помимо главной ссылки.
Вариант 2 не ставит автоматически ссылок ни на картинку, ни на всю площадь страницы. Остается возможность явного прописывания ссылок в тексте, как варианте 1. Эта опция для создания PDF в котором требуется получить отличную от перехода по ссылке реакцию пользователя. Например – звонок по указанному номеру телефона, отправка смс на указанный номер, сканирование QR-кода.
«Главные ссылки LINK из файла брать»
Возможные варианты:
- 0. По порядку следования
- 1. Произвольным образом
Ссылки после забора не удаляются. Если ссылки в файле закончились при переборе по порядку, то происходит переход на начало списка ссылок.
Опция “PIC -> QR на 1 стр.”
При включенной опции производится замена картинки первой страницы на QR-код, сгенерированный из главной ссылки LINK. Все варианты компановки работают так же, как и для картинки.

Далее идет блок с параметрами бредотекста.

Опция “Add CTA button after main image”
Включение опции активирует процедуру объединения основного изображения из каталога “/pdf_res/pictures/” с дополнительным изображением из каталога “/pdf_res/pictures_action/”. Опция нужна для автоматического добавления к основному изображению изображений кнопок с призывом к действию (CTA Buttons). Таких как: Активировать, Купить, Нажми тут, Скачать, Узнать больше, Играть, Зарегистрироваться, Подписаться, Отписаться, Смотреть. Кнопки можно как добавлять снизу, так и накладывать на первое изображение. Примеры смотрите далее.
В комплекте с генератором идет набор из 317 готовых кнопок CTA Buttons. Кнопки представлены на двух языках – английском и русском. И размещены в соответствующих тематике подкаталогах. Всего 10 тематических наборов, которые уже были перечислены ранее. Вы можете использовать свои изображения для добавления на/под главное изображение. Поддерживается прозрачность в PNG-файлах при наложении поверх первого изображения.


Текущий каталог с изображениями кнопок выбирается на вкладке “Resources” после вызова диалога “Выбрать каталог с CTA Buttons”.

Параметры опции:
Margin – Значение отступа от главного (верхнего) изображения перед размещением нижнего изображения. Задается в процентах от высоты главного изображения. По умолчанию значение 5%. При отрицательных значениях второе изображение накладывается на первое. К примеру, при значении отступа в -50%, второе изображение будет наложена на первое изображение, начиная с середины первого изображения. При значении отступа в -100%, второе изображение будет наложено на первое изображение, начиная с верхнего края (начала) первого изображения.
Width – Значение ширины добавляемого нижнего изображения (кнопки). Задается в процента ширины главного изображения (верхнего). По умолчанию значение равно 25%.
Далее приведены примеры работы этой опции:















317 готовых кнопок CTA Buttons в комплекте поставки генератора




















«Расположение бредотекста на 1-й стр.»
Возможные варианты:
- 0. Не добавлять бредотекст
- 1. Добавить бредотекст внизу страницы
- 2. Добавить бредотекст вверху страницы
- 3. Добавить бредотекст вверху и внизу страницы
- 4. Случайный вариант из 0, 1, 2
- 5. Случайный вариант из 1, 2
- 6. Случайный вариант из 0, 1, 2, 3
- 7. Случайный вариант из 1, 2, 3
«Источник бредотекста»
Возможные варианты:
- 0. Из файла
- 1. Генерация из латинского алфавита
- 2. Генерация из русского алфавита
- 3. Случайный вариант из 0, 1, 2
- 4. Случайный вариант из 1, 2
- 5. Случайный вариант из 0, 1
- 6. Случайный вариант из 0, 2
Длина бредотекста в абзацах
Абзац – текст до переноса строки. Задает диапазон а вбзацах от минимума до максимума, в котором будет изменяться объем вставок бредотекста в начале и конце первой страницы при его там наличии. Абзац – одно или несколько предложений, заканчивающихся символом переноса строки.
Чекбокс «Do not make cloaking links for bredo-text»
Не делать активные внешние маскировочные ссылки для бредотекста, оставляя лишь один бредотекст. Опция работает для бредотекста во всем документе.
Далее идет блок с параметрами остальных страниц – «Генерация дополнительных страниц» и блок дополнительных параметров при генерации мета-тегов PDF файла.

«Вставка пустых страниц после первой страницы, от и до»
При значениях больше нуля производится вставка пустых страниц после первой, в диапазоне от и до (для каждого PDF генерируется произвольное значение из этого диапазона). Это не зависимая от каких-либо других опция. Пустые страницы могут существовать не зависимо от того, будет ли после них сгенерированы дополнительные страницы или не будут.
«Тип генерируемого контента»
Определяет вид дополнительных создаваемых страниц. Эти страницы идут после пустых страниц при их наличии, или сразу после первой страницы ,если генерация пустых страниц отключена. Возможные варианты:
- 00. Не генерировать доп. страницы
- 01. Генерация из графических примитивов
- 02. Генерация из 1-го фото на странице
- 03. Генерация из 2-х фото на странице
- 04. Генерация из 4-х фото на странице
- 05. Генерация из бредотекста
- 06. Генерация из бредотекста и графики
- 07. Случайный вариант из 0, 1
- 08. Случайный вариант из 0, 1, 2
- 09. Случайный вариант из 1, 2
- 10. Случайный вариант из 2, 3, 4
- 11. Случайный вариант из 1, 2, 3, 4
- 12. Случайный вариант из 0, 1, 2, 3, 4
- 13. Случайный вариант из 0, 5
- 14. Случайный вариант из 1, 5
- 15. Случайный вариант из 1, 5, 6
- 16. Случайный вариант из 2, 5
- 17. Случайный вариант из 1, 2, 3, 4, 5, 6
Далее подробнее рассмотрим перечисленные базовые опции.
«00. Не генерировать доп. страницы» – в текущем файле дополнительных страниц генерироваться не будет.
«01. Генерация из графических примитивов» – страница будет сформирована из взятых произвольным образом графических примитивов-иконок (см. пример – скриншот такой страницы далее). Примитивы находятся в подкаталоге «svg» каталога с ресурсами «pdf_res». Представляют из себя векторные SVG-файлы. Всего в комплекте около 900 различных примитивов. Вы можете самостоятельно добавить в этот подкаталог новые SVG-файлы. Замечу, что некоторые из SVG файлов могут выдавать ошибку и при при генерации размещены не будут. Программа не вылетит с ошибкой, просто не отрисует этот ошибочный SVG-файл. Поэтому при добавлении стоит размещать новые SVG-файлы по одному в подкаталоге «svg»и на каждом тестировать его пригодность. Если отрисовка произошла в результирующем PDF, то переносим проверенный SVG-файл в другое место и продолжаем. Потом все проверенные переносим обратно в подкаталог «svg» и запускаем в работу. Таким образом количество используемой графики очень велико, что лишь усиливает индивидуальность каждого сгенерированного файла.

«02. Генерация из 1-го фото на странице» – на страницу помещается одна картинка. Которая берется произвольным образом из подкаталога «/pdf_res/ pictures_dop1». На картинку ставится ссылка, берущаяся произвольным образом из файла «anchor_link1.txt».

«03. Генерация из 2-х фото на странице» – на страницу помещаются две картинки (смотрите пример справа). Которые берутся произвольным образом из подкаталогов «/pdf_res/ pictures_dop1» верхняя и «/pdf_res/ pictures_dop2» нижняя. На верхнюю картинку ставится ссылка, берущаяся произвольным образом из файла «anchor_link1.txt». На нижнюю картинку ставится ссылка, берущаяся произвольным образом из файла «anchor_link2.txt».

«04. Генерация из 4-х фото на странице» – на страницу помещаются четыре картинки по схеме 2х2 (смотрите пример ниже) последовательно слева направо и сверху вниз. Картинки берутся произвольным образом из подкаталогов «/pdf_res/ pictures_dop1» – позиция Picture-1, «/pdf_res/ pictures_dop2» – позиция Picture-2, «/pdf_res/ pictures_dop3» – позиция Picture-3 и «/pdf_res/ pictures_dop4» – позиция Picture-4. Ссылки берущаяся произвольным образом из файлов «anchor_link1.txt» – позиция Picture-1, «anchor_link2.txt» – позиция Picture-2, «anchor_link3.txt» – позиция Picture-3 и «anchor_link4.txt» – позиция Picture-4.

«05. Генерация из бредотекста» — на странице генерируется некоторое количество абзацев маскировочного текста. Параметры берутся из блока «Параметры бредотекста» вкладки «Структура PDF». А именно — источник бредотекста (файл, генерация латинских символов, генерация русских символов), длина одного блока бредотекста в абзацах. На примере ниже таких блоков бредотекса сгенерировано 5 штук. На каждый такой блок бредотекста вешается своя маскировочная ссылка, которая берется произвольно из файла «bredotext_links.txt». То есть каждый такой текстовый блок является кликабельным и ведет на какой-то адрес в интернете.

«06. Генерация из бредотекста и графики». В этом варианте на странице сначала формируется бредотекст по пункту 05, затем поверх отрисовываются примитивы по пункту 01. На каждый абзац текста и каждый графический примитив вешается отдельная внешняя маскировочная ссылка. Пример смотрите на скриншоте ниже.

Опции 07 — 17 являются различными комбинациями уже перечисленных вариантов генерации контента на дополнительных страницах. Вы можете использовать как один вариант, так несколько и в различных комбинациях. Таким образом на выходе можно получать множество структурных и контентных комбинаций, которые весьма осложнят анализ нейросетям почтовиков и не дадут им однозначно связать по PDF файлам ваши рассылки. Ну, а белым рассыльщикам позволят реализовать различные сценарии по сегментации и валидации.
Количество генерируемых страниц, от и до
Здесь задаем диапазон из минимального и максимального значений, из которого случайным образом выбирается количество дополнительно генерируемых страниц PDF.
Чекбокс «Junk links».
При включенной опции (по умолчанию включена — стоит галочка) на каждый графический примитив, созданный на дополнительных страница в опции 01, 06 и их включениях в смешанных вариантах, создается активная маскировочная ссылка, которая берется произвольно из файла «bredotext_links.txt», аналогично ссылкам в блоках бредотекста. Эта опция сделана также для того, чтобы усложнить анализ содержимого PDF файла в части активных внешних ссылок, замаскировав вашу главную ссылку среди отвлекающих “мусорных” ссылок. На этой опции группа параметров дополнительных страниц заканчивается.
Группа «MetaTags».
Чекбокс «Генерация» — включает генерацию метатегов из случайных символов. Данные из соответствующих файлов не используются. Генерируются только поля метатегов: title, author, subject, keywords. Метатеги producer и creator по-прежнему берутся из файлов (это важные для достоверности PDF мета-теги, которые не желательно генерировать случайным образом).
Чекбокс «Пустые с вероятностью в» — при включении этой опции поля метатегов: title, author, subject и keywords будут делаться пустыми с указанной ниже вероятностью (в процентах). Если значение будет 100% – то поле метатега будет пустым.
При отключенных опциях этой группы создание мета-тегов будет производится на основе данных из соответствующих файлов (подробнее смотрите в разделе описания входных файлов).
Примеры генерации мета-тегов (c версии 1.20 улучшен алгоритм – в разы большая уникализация и подобие некой осмысленности):
metadata_title: Committee understand maintain training confront muslim
metadata_author: Ballard Campbell
metadata_keywords: president young minute
metadata_subject: Supporter enemy understanding imagination
«Дата и время создания PDF».
Опция выбора алгоритма определения даты создания PDF файла. Возможные варианты:
- 0. Подставлять текущие
- 1. Генерировать произвольные
- 2. Случайный выбор из 0, 1
Думаю, тут все понятно. По пункту 1 диапазон генерируемых дат: от минус 5 лет от текущей точки, до текущей временной точки.
ИНФОРМАЦИЯ! Дата создания документа – это два параметра PDF-файла. Дата создания – как внутренний параметр pdf-документа. Увидеть дату создания, как и остальные значимые параметры – в том числе и метатеги, можно в программе Acrobat Reader Pro нажав “CTRL-D”. Она будет находиться в поле “Created”. Соответственно такой же будет установлена и дата создания физического файла, которую вы видите в проводнике (или ином файловом менеджере) и которая является датой физической записи файла на диск.

Опции шифрования содержимого PDF

Возможные варианты:
- 0. PDF не шифровать
- 1. Защита контента
- 2. Полная шифрация
При включенных опциях 1 и 2 PDF файл шифруется по алгоритму AES со 128 битным ключом.
При выбранном режиме “1. Защита контента“ включается запрет на любое редактирование, изменение файла или извлечение из него текста и графики. Но просмотр (в том числе в браузере на сайте почтового провайдера) остается доступен. Закодирован сам контент и напрямую при просмотре файла его проанализировать невозможно. Необходима предварительная раскодировка, что и делает анти-спам система почтового провайдера при анализе нашего PDF файла. Эта операция требует дополнительного процессорного времени, но выполняется всегда для анализа на безопасность содержимого и формирование изображения предварительного просмотра для отображения в браузере при просмотре письма. Таким образом, такое шифрование PDF усложняет его анализ почтовиками, но не делает его невозможным.
При выбранном режиме “2. Полная шифрация“ производиться полное шифрование PDF файла, после которого для любой операции с файлом требуется преварительно ввести пароль. В этом случае ни предварительный просмотр в браузере, ни анализ анти-спам системами почтовых сервисов не возможны в принципе, так как для доступа к содержимому требуется провести операцию дешифрации, для которой нужно ввести ключ-пароль.
В предыдущих версиях генератора я не делал полное шифрование из-за невозможности открытия получателем такого файла без пароля, а с передачей получателю пароля не все однозначно. В этой версии я реализовал возможность использования как заданного пользователем пароля (он будет один на весь генерируемый набор pdf файлов), так и использование сгенерированного случайного пароля.
Пользовательский пароль вводиться в следующем окне справа от выбора вида шифрования. Если поле остается пустым, то используется сгенерированный программой пароль.
Далее идет опция записи в текстовый файл имени pdf файлов и паролей для их открытия построчно. Формат строки: “file_name,password”. Файл с именем “pdf_password.txt” создается в той же папке, куда сохраняются сгенерированные PDF. Пример такого файла:
1.pdf,9z1zyngkh
2.pdf,2pvlqva
3.pdf,ezrlvs
4.pdf,iqqxmkqeg
5.pdf,j6cty4uhv
6.pdf,70v9fv0b8p
7.pdf,uwopyc2
8.pdf,cbsmd4o94
9.pdf,jh88zwmd
10.pdf,z1742bevah
11.pdf,n4d0eb
12.pdf,ns1lqfas4
При рассылке вы можете в теле письма сообщить пароль на открытие вложенного PDF файла. Если это статический заданный пользователем пароль – такое сделать совсем просто, но будет страдать уникальность писем, так как пароль будет одинаков и будет в серии писем постоянной константой. Если это динамический пароль, то вам придется как-то реализовать вставку в письмо индивидуального пароля, взятого из файла соответствия “pdf_password.txt” на основе используемого имени. Если у вас собственный софт-рассыльщик то с этим проблем не будет 🙂
Далее скриншот из интерфейса gmail – вид письма с зашифрованным PDF и паролем для его открытия в теле письма:

Вкладка «Внешний вид» — «Design»
На этой вкладке собраны параметры, влияющие на внешний вид создаваемого PDF файла.
Внимание! Часть нижних параметров на вкладке скрыта — чтобы они стали видны, прокрутите слайдер справа от параметров (обозначен красной стрелкой на скриншоте ниже).

«Размер PDF – ширина, высота страницы и Дельта»
Указываем ширину и высоту страницы в миллиметрах. Параметр «Дельта» определяет, в каком диапазоне будут меняться ширина и высота каждого генерируемого файла в процентах от заданных величин. Если дельта равна нулю, то размеры у всех генерируемых файлов будут одинаковыми и равными заданным значениям.
Пример: при размере документа 210×297 мм (стандарт А4) и Дельте=10% диапазон возможных размеров по ширине будет от 210-210*0,1=189мм до 210+210*0,1=231 мм; по высоте от 297-297*0,1=267мм и до 297+297*0,1=326мм.
«Поля (внутренние отступы от границ листа) первой страницы»
Отступы от краев первого листа внутрь перед размещением контента. Задаются в миллиметрах. Нужны для подгонки генерируемого текстового содержимого под фоновую подложку. Для имитации деловой документации, фирменных бланков и т. п.
Отступ сверху на 1-й стр. от верх. бредотекста до контента
Задает диапазон значений в миллиметрах для формирования вертикального отступа от верхнего поля страницы и верхнего бредотекста (при его наличии) до полезного контента (картинки или текста) на первой странице. Задаются в миллиметрах.
Размер отступа вниз от полезного контента на 1-й странице
Задает диапазон значений в миллиметрах для формирования вертикального отступа между нижней границей картинки или полезного текста (берется самый нижний объект) и первым абзацем бредотекста при его генерации внизу страницы (после полезного контента). Задаются в миллиметрах.

Цвет текста
Задаем цвета для текста первой страницы (основного текста), бредотекста 1-й страницы и бредотекста дополнительных страниц по отдельности. При включении чекбоксов «Изменять в пределах» для каждого файла цвет будет изменяться в пределах указанных ниже процентов (10% по умолчанию) от выбранных RGB-значений цветов. Изменение аналогично работе параметра Дельта в размерах. По умолчанию для основного текста определен черный цвет RGB (0,0,0), для бредотекста 1-й страницы — серый цвет RGB (240,240,240) и бредотекста допстраниц — серый цвет RGB (225,225,225).
«Размер шрифта основного текста (pt) от и до»
Диапазон значений от минимального до максимального для случайной генерации значения размера шрифта основного текста первой страницы в этих пределах. Задается в классических пунктах.
Обратите внимание! При задании размеров страницы размеры шрифта не уменьшаются пропорционально размерам страницы, чтобы уместить весь контент в страницу. Поэтому если размер страницы мал, а размер шрифта велик, то даже один лишь текст может не поместиться на страницу.
«Размер шрифта бредотекста (pt) от и до»
Диапазон значений от минимального до максимального для случайной генерации значения размера шрифта бредотекста на всех страницах документа в этих пределах. Задается в классических пунктах.
«Графика на фон 1-й страницы»
Включает размещение на первой странице фонового изображения из графического файла, выбираемого случайным образом в каталоге «picture_background_1page». Поддерживаются растровые форматы JPG, PNG и векторный формат SVG. Изображение подгоняется под размер страницы генерируемого PDF. Поэтому во избежании сильных искажений, делайте размер страницы с такой же пропорцией, как и у изображения. Т.е. если изображение имеет формат сторон 1:2 (1000×2000 pixels), то размер страницы можно сделать 150×300мм или 100×200мм или 200×400мм.
«Графика на фон следующ. страниц»
Включает размещение на всех последующих страницах (после первой и пустых) фонового изображения из графического файла, выбираемого случайным образом в каталоге «picture_background_npage». Поддерживаются растровые форматы JPG, PNG и векторный формат SVG. Изображение подгоняется под размер страницы генерируемого PDF. Поэтому во избежании сильных искажений, делайте размер страницы с такой же пропорцией, как и у изображения. Т.е. если изображение имеет формат сторон 1:2 (1000×2000 pixels), то размер страницы можно сделать 150×300мм или 100×200мм или 200×400мм.
«Выбор шрифта для генерации PDF»
Выбор шрифта, который будет использоваться для отрисовки текста PDF. Шрифт в пределах одного PDF одинаков и задается явно в пунктах 0-7. Остальные варианты осуществляют случайный выбор из указанных вариантов для каждой последующей генерации PDF. Возможные варианты:
- 00. Шрифт “Arial”
- 01. Шрифт “TimesNewRoman”
- 02. Шрифт “Verdana”
- 03. Шрифт “CourierNew” моноширинный
- 04. Шрифт “Calibri”
- 05. Шрифт “Segoe UI”
- 06. Шрифт “Candara”
- 07. Шрифт “Comic Sans MS”
- 08. Случайный выбор из 0, 1
- 09. Случайный выбор из 0, 1, 2, 3
- 10. Случайный выбор из 0, 2, 4
- 11. Случайный выбор из 1, 5, 6
- 12. Случайный выбор из 4, 5, 6
- 13. Случайный выбор из 4, 5, 6, 7
- 14. Случайный выбор из 0,1,2,3,4,5,6
- 15. Случайный выбор из 0-7 (всех)
В пределах одного документа (файла PDF) используется один выбранный шрифт. Заданный явно в пунктах 0-7 или случайно выбранный из них.
Далее идут опции настройки фильтров для обработки картинок.
Отдельно обрабатываются картинки, размещаемые на первой странице и картинки, размещаемые на дополнительных страницах. Применение фильтров делает размещенную картинку уникальной с точки зрения побайтового содержимого, но не уникальной при глубоком анализе нейросетями, которые улавливают смысл картинки. Но у почтовиков на такие глубокие анализы для каждого письма пока вряд ли найдутся ресурсы, поэтому можем считать, что обработка фильтрами делает каждую картинку уникальной. Особенно если действие фильтра будет многократным (настраивается также). То есть, в генератор PDF «Ceres» встроен уникализатор графики, что добавляет свои баллы в общую уникальность результирующих PDF.
«Обработка картинок 1-й страницы»
Выбор графического фильтра для обработки растровых изображений на первой странице. Опция предназначена для уникализации изображений с точки зрения их цифрового содержимого.
Возможные варианты применения графических фильтров на изображении:
- 0. Не добавлять фильтры
- 1. Фильтр BLUR (размытие)
- 2. Фильтр SHARPEN (резкость)
- 3. Фильтр DETAIL (детализация)
- 4. Фильтр SMOOTH (сглаживание)
- 5. Фильтр NOISE (добавить ШУМ)
- 6. Фильтр MIRROR (отзеркаливание)
- 7. Случайный выбор из вариантов 0-6
- 8. Случайный выбор из вариантов 1-6
- 9. Случайный выбор из вариантов 1-5
- 10. Случайный выбор из вариантов 0-5
- 11. Для картинок с текстом. Сл.выбор из 0,2,3
- 12. Для картинок с текстом. Сл.выбор из 2,3
«Обработка картинок доп. страниц»
То же самое, что и предыдущий набор опций. Но только действуют для изображений на всех последующих после первой страницах документа.
«Сколько раз применяем один тип фильтра на одной картинке, от и до»
Количество применений выбранного явно или случайным образом фильтра на одном растровом изображении. При выборе фильтра зеркального отражения и выборе кратного двум применения этого фильтра визуально картинка не изменится. Степень воздействия же остальных фильтров будет усилена. Экспериментируйте с границами. Но помните, что применение графических фильтров сильно поглощает ресурсы компьютера и замедляет генерацию документов.
Опция «Remove empty space at the bottom of the first page»
Включает режим удаления свободного (незанятого текстом и картинкой) пространства внизу первой страницы. Эти поля образуются по причине того, что сначала задается размер страницы pdf, и уже потом на этой странице происходит отрисовка контента. И точно определить требуемый размер страницы вначале не представляется возможным. Сделано для более крупного визуального отображения PDF при отображении миниатюры вложения (preview) и при дальнейшем просмотре в браузерах. Если заданный в шаблоне контент не помещается на одной (первой) странице, то обрезка производится на последней странице. Обрезка на дополнительных страницах не производится. Опция уникальна для PDF генераторов ввиду особенностей последовательности создания pdf.
Пример применения этой опции смотрите на скриншоте ниже.

«Имя PDF-файла на выходе»
Выбор режима формирования имени созданного PDF файла. Не работает в режиме SuperLink. Возможные варианты:
- 0. Порядковый номер
- 1. Порядковый номер и добавлять рандом
- 2. Имя брать из файла и добавлять порядковый номер
- 3. Генерировать произвольно (рандом)
- 4. Случайный выбор из пунктов 0, 1
- 5. Случайный выбор из пунктов 0, 1, 2
- 6. Случайный выбор из пунктов 0, 1, 2, 3
- 7. Генерация имени по шаблону
При генерации имени по шаблону поддерживается спинтах вида {variant-1|variant-2|variant-3}. Также поддерживаются следующие макросы:
&N&– замена на порядковый номер генерируемого PDF&DATA1&– замена на текущую дату в формате «Год-Месяц-День»&DATA2&– замена на текущую дату в формате «День-месяц-Год»&MBIG&– замена на текущий месяц в полном формате «December»&MSHORT&– замена на текущий месяц в сокращенном формате «Dec»&DAY&– замена на текущий день (число от 01 до 31)&TIME1&– замена на текущее время в формате «Часы-минуты-секунды»&TIME2&– замена на текущее время в формате «Часы-минуты»&EMAIL&– замена на email в режиме SuperLink&RNDNUM-A:B&– вставка случайного числа из диапазона от А до В, где A < B и целые числа.&RNDSTR-A:B&– вставка случайной строки из символов латинского алфавита (a-z, строчные) с длиной, равной случайному числу из диапазона от А до В. Где A меньше B и это целые числа.&RNDSTRUP-A:B&– вставка случайной строки из символов латинского алфавита (a-z, ЗАГЛАВНЫЕ) с длиной, равной случайному числу из диапазона от А до В. Где A меньше B и это целые числа.&RNDMIX-A:B&– вставка случайной строки из символов латинского алфавита и цифр (a-z строчные, 0-9 цифры) с длиной, равной случайному числу из диапазона от А до В. Где A меньше B и это целые числа.&RNDMIXUP-A:B&– вставка случайной строки из символов латинского алфавита и цифр (a-z ЗАГЛАВНЫЕ, 0-9 цифры) с длиной, равной случайному числу из диапазона от А до В. Где A меньше B и это целые числа.
Пример: &RNDNUM-500:1000&. Результат – случайное число в диапазоне от 500 до 1000.
Вкладка «Anti-Bot»
На этой вкладке представлены инструменты по усложнению распознавания тематики вашего контента в PDF файле фильтрами почтовых систем.

Опция «Add masking graphic primitives to first page»
Опция создания на первой странице маскировочных графических примитивов маленького размера с активными ссылками. Для маскировки вашей основной рабочей ссылки. Эту опцию можно комбинировать с нижерасположенной опцией преобразования первой страницы в растровое изображение: в этом случае будет создано два набора примитивов – первый набор будет преобразован в результирующее изображение, а второй набор будет наложен в векторном виде поверх изображения и будет содержать активные ссылки.
Если контент (изображение + текст + бредотекст при его наличии) не умешается на первой странице, то происходит создание второй страницы, на которой размещаются не поместившиеся на первой странице элементы. В такой ситуации маскировочные примитывы размещаются также на второй странице. При этом, если включена опция обрезки свободного пространства внизу, то маскировочные примитивы на второй страницы могут быть обрезаны.
Внимание! Чтобы дополнительные ссылки с маскировочных примитивов были активны, в меню “Ссылки на первой странице” надо выбирать вариант 1 – “Ссылка на картинку LINK, ссылки в тексте – анкорами”. Если будет выбран вариант 0, то результирующая главная ссылка перекроет сверху все маскировочные ссылки.

Группа опций по конвертации содержимого 1 страницы в изображение и внесение в него искажений
Предназначены для затруднения анализа вашего файла нейросетевыми фильтрами спам-систем почтовых служб. Включение этих опций вызывает увеличение потребления ресурсов компьютера при генерации PDF файла и влечет за собой замедление скорости генерации PDF. Как пример для понимания насколько происходит замедление:
- Время генерации без преобразования в картинку и наложения искажений: 0.44 минуты
- Время генерации с преобразованием в картинку и наложении всех возможных искажений: 2.32 минуты
Опция «Convert the contents of the first page to a raster image with a resolution of 150 dpi»
Включает преобразования всего содержимого первой страницы PDF в растровую картинку с указанным разрешением (по умолчанию – 150 dpi). Чем ниже разрешение, тем хуже читаемость мелких элементов, тем сложнее почтовым фильтрам проводить операцию распознавания текста из таких картинок и тем меньше размер получаемой картинки. Опция нужна для усложнения детекции сути вашего послания фильтрами почтовиков: при отсутствии в PDF файле прямого текста фильтрам почтовых систем останется только опция оптического распознавания текста с картинки, что ресурсоёмко и не применяется массово.
Опция «Add graphic elements to make it more difficult for OCR systems to work. Parameters:»
Включает добавление на первую страницу сверху специальных графических элементов с прозрачностью для затруднения работы алгоритмов распознавания текста с растровых картинок (OCR). Параметры указываются ниже:
- Line count – количество накладываемых линий
- Grid cell size – размер ячейки накладываемой сетки
- Opacity – прозрачность элементов. Значение 1 – не прозрачные элементы, 0.1 – практически совсем позрачные элементы.
- Grayscale mode – чекбокс включения режима перевода цветов этих элементов в градации серого цвета. По умолчанию накладываются цветные элементы.

Опция «And apply a graphic filter to the resulting image»
Включает наложение на полученную до этого момента растровую картинку дополнительных графических фильтров. Эти фильтры обеспечивают дополнительную уникализацию картинки и затруднение работы алгоритмов распознавания текста (OCR) и смыслового контекста нейросетевыми фильтрами почтовых систем вплоть до полного бессилия последних.

Доступные дополнительные графические фильтры:
- Blur. Используется для общего и равномерного размытия изображения. По сути, BLUR создаёт эффект лёгкой нечёткости или мягкого фокуса. Это основной инструмент, когда нужно немного смягчить изображение, не теряя при этом слишком много важной информации о контурах.
- CONTOUR. Превращает изображение в контурный рисунок, похожий на эскиз. В результате все цвета и текстуры исчезают и изображение становится черно-белым (точнее, в оттенках серого). Остаются только очертания. Фильтр оставляет только контуры, создавая эффект, будто картинку нарисовали карандашом. Представь, что ты берешь кальку, накладываешь ее на фотографию и обводишь все видимые контуры. Фильтр CONTOUR делает нечто очень похожее. Его часто используют для создания художественных эффектов или для задач, где важны только формы объектов, а не их внутреннее содержание.
- EDGE_ENHANCE_MORE. Предназначен для усиления резкости краев на изображении. Он работает, находя границы между разными по цвету или яркости областями (то есть, края объектов) и делая их более контрастными и заметными. Проще говоря, этот фильтр делает картинку более “четкой” и “резкой”, подчеркивая детали.
- EMBOSS. Создаёт эффект, будто изображение выдавлено на поверхности, например, на металле или бумаге. В результате получается стилизованное изображение, в котором детали выглядят трёхмерными и рельефными.
- FIND_EDGES. Превращает изображение в чёрно-белый контурный рисунок. Он работает очень похоже на фильтр CONTOUR, но с одним ключевым отличием в результате. Находит границы – фильтр анализирует изображение и находит все резкие перепады цвета и яркости, то есть края объектов. Создаёт “негативный” контур – в отличие от CONTOUR, который рисует тёмные линии на светлом фоне, FIND_EDGES делает наоборот — он рисует светлые (белые) линии на тёмном (чёрном) фоне. В итоге получается изображение, похожее на рисунок мелом на чёрной доске или на негатив эскиза. Этот фильтр отлично подходит для выделения структуры объектов на изображении, полностью убирая информацию о цвете и текстуре.
- SMOOTH_MORE. Фильтр SMOOTH_MORE (более сильное сглаживание) предназначен для размытия и смягчения изображения.
Сравнение SMOOTH_MORE и BLUR:
BLUR — это как бы лёгкое прикосновение к изображению, немного смягчающее его.
SMOOTH_MORE — это мощное, агрессивное размытие, которое значительно усредняет цвета и делает изображение очень мягким.
Если тебе нужно чуть-чуть смягчить картинку, используй BLUR. Если нужен сильный эффект акварели или тумана, выбирай SMOOTH_MORE.




Опция «And apply additional image distortions with the following parameters:»
Далее на получившееся изображение можно применить опцию геометрического искажения с добавлением шума и дополнительного размытия на получившийся результат.

Доступны следующие параметры:
- Wave intensity – интенсивность искажения изображения типа “волна”. Значение по умолчанию – 15
- Arc intensity – еще один параметр интенсивности искажений. Значение по умолчанию – 0.30
- Noise level – интенсивность нанесения на изображение цветового шума. Значение по умолчанию – 5
- Blur radius – интенсивность финального результирующего размытия изображения. Значение по умолчанию – 1.20

Изменяя настройки можно усиливать или ослаблять геометрические искажения, делая работу алгоритмов распознавания текста (OCR), алгоритмов определения объектов на фото и алгоритмов получения общего контекстного смысла изображения все более сложной, вплоть до невозможности корректной работы.
Далее, как пример, приведу результаты работы системы оптического распознавания текста (сервис расположен тут и вы сами можете загружать туда свои PDF файлы и экспериментировать) на примере работы со следующими файлами:
- 1 – растровом PDF файле без искажений. Имя файла “1_original.pdf” – его и последующие можно будет скачать и посмотреть в телеграмм канале генератора.
- 2 – растровом PDF файле с настроенными параметрами искажений по умолчанию. Имя файла “1deform.pdf.pdf”.
- 3- растровом PDF файле с увеличенными по отношению к значениям по умолчанию параметрам искажений. Имя файла “1_deform_more.pdf”.
1 – растровый PDF файле без искажений. Имя файла “1_original.pdf”

Результат работы алгоритмов распознавания текста:
It is important to note that the library doesn’t decode or load the raster data unless it really has to. When you open a file, the file header is read to determine the file format and extract things like mode, size, and other properties required to decode the file, but the rest of the file is not processed until later.
This means that opening an image file is a fast operation, which is independent of the file size and compression type. Here’s a simple script to quickly identify a set of image files.
Как видите, 100% текст распознан. Соответственно, нейросетевой фильтр почтовых систем прекрасно может понять о чем идет речь и положить ваше письмо в спам адресату, а то и вовсе удалить если увидит нарушение правил сервиса в тематике вашего письма.
2 – растровом PDF файле с настроенными параметрами искажений по умолчанию

Параметры искажений – Wave intensity:15, Arc intensity:0.3, Noise level:5, Blur radius:1.2
Результат работы алгоритмов распознавания текста:
It is ir?°rtacti;tjto ncite that ttle libraArY de st ehor __ ,a ter uata doesrill ItJaci the 1 unless illel a file, the the Pa header has to. when you open deterrrine like nleodelle, format extract thing,smes r quiredsize’ arid other misarteaanddt° the file, propr filetoisdencootde rest of the proc.essed but The This mp, until Weer hi is a fasioans that oPerling an Peratiorl, image if vypich is indep nt of th encii, tvn the file size any compressivr i. ii type. Here’s a sirriPie script to quici( files. Y sdentifY a set Of irnag
Как видите, с настройками искажения изображения по умолчанию выбранный сервис распознавания текста уже не справился и в итоге была выдана набор символов, по которому нейросетевым алгоритмам фильтров почтовым систем будет невозможно понять, о чем в вашем письме идет речь. И, соответственно, невозможно применить перенос в спам или удаление письма – вдруг это письмо ВАЖНО для получателя?
Но! если вы рассылаете с источника (сервер, аккаунт) с уже испорченной перед спам-фильтрами репутацией, то как не маскируйте содержимое, фильтры уже только на основе того, что письмо идет от недоверенного в их глазах источника (рассылавшего спам ранее) поместят и новое письмо с этой защитой в спам.
3- растровом PDF файле с увеличенными по отношению к значениям по умолчанию параметрам искажений

Параметры искажений – Wave intensity:21, Arc intensity:0.6, Noise level:25, Blur radius:1.3
Результат работы алгоритмов распознавания текста:
rtani n t ecod: note that “leg librraW a Os illiPcd 1 doe5 it reai ”’ Or load trle rwste data 01655 tY has vvnerldfil °Pen LI file, the flie he to. 0 grime the acier is read 1- t ,frote hie (… „nd ex ract Fi_tsiliiiekse rmegoduiersrzrmeiaatrizocia i oettfore file, a re.51.of ihe7;it_o,den_‘ nroc.esseci PLIA.1vigoter Thisrnel_1:: is u_L.5.1erli.ng is an_c” 4 file is a fast al S that 471.;;PICh IS irneir octant of th °Peration. ci dePe ion ty e tile s-ze ail in fess Pe. H i owie corriP.- Quickly id ere’s a 51 image ,i to en:if_ t of i ge scrip ‘Y a se files.
В этом случае результат работы системы OCR еще более хаотичен. Следовательно, в этом случае нейросетевым алгоритмам фильтров почтовым систем будет еще более невозможно понять, о чем в вашем письме идет речь.
Экспериментальные опции
Далее представлены экспериментальные опции, результаты от работы которых могут как присутствовать так и отсутствовать. Их действие надо проверять в конкретный условиях на практике. Реакции фильтров разных почтовых систем могут отличаться, как отличаются и сами эти системы. К сожалению, публично не известны алгоритмы работы парсеров PDF файлов анти-спам систем почтовых сервисов. Поэтому не известно, как именно повлияют эти экспериментальные опции на работу фильтров этих анти-спам систем и повлияют ли вообще.
Расценивайте эти опции как дополнительные параметры в борьбе за инбокс, но предварительно постарайтесь провести для себя тестирование в своих конкретных условиях. И определите, дает ли вам включение этих опций (всех вместе или некоторых из них) что-то положительное или нет. Желательно написать автору генератора результаты ваших тестов с описанием параметров генерации PDF, параметров рассылки и ее результатов. Возможно так совместными усилиями мы продвинемся в этом направлении.
Опция «Add a semi-transparent bitmap image to the top of the 1 page»
Добавить на первую страницу сверху слой с полу-прозрачным растровым изображением.
Опция «Add camouflage element 0»
Добавить на первую страницу в начале маскировочный элемент 0. Для затруднения распознавания контекста содержимого первой страницы парсерами почтовиков. В теории должен вызывать проблему у парсеров pdf файлов ввиду намеренно содержащихся ошибок в описании элемента. Но как это повляет на дальнейший анализ почтовыми системами, не известно.
Опция «Add camouflage element 1»
Добавить на первую страницу в конце маскировочный элемент 1. Для затруднения распознавания контекста содержимого первой страницы парсерами почтовиков. В теории должен вызывать проблему у парсеров pdf файлов ввиду намеренно содержащихся ошибок в описании элемента. Но как это повляет на дальнейший анализ почтовыми системами, не известно.
Вкладка «Ссылки» — «Links»
На этой вкладке представлены операции дополнительного преобразования ссылок, используемых в созданном PDF файле.


Опция «Добавлять окончания к ссылкам:»
Возможные варианты:
- 00. Не добавлять (ссылки без изменений)
- 01. Добавлять к главным ссылкам LINK
- 02. Добавлять к ссылкам-анкорам LINK1-LINK6
- 03. Добавлять ко всем ссылкам, кроме маскировочных
- 04. Добавлять ко всем ссылкам
- 05. Случайный вариант из 00, 01
- 06. Случайный вариант из 00, 02
- 07. Случайный вариант из 00, 03
- 08. Случайный вариант из 00, 04
- 09. Добавлять только к маскировочным ссылкам
Эта опция добавляет анкорные окончания заданного шаблонами вида к выбранным типам ссылок. Эти окончания не меняют адрес перехода исходной ссылки. Они модифицируют ссылку, делая ее уникальной с позиции написания (так как каждое такое окончание генерируется случайным образом), но не с позиции конечного адреса перехода. Это не замена полноценным редиректам, лишь еще один способ добавить сложностей почтовику при анализе PDF 🙂
Поле ввода «Шаблон окончания ссылок:»
Значение по умолчанию: “/#&RNDMIX-8:20&”.
Позволяет задавать вид анкорного суффикса, добавляемого к ссылкам в PDF для дополнительной уникализации.
Поддерживается спинтах вида {variant-1|variant-2|variant-3}.
Поддержка макросов:&N& – замена на порядковый номер генерируемого PDF&DATA1& – замена на текущую дату в формате “Год-Месяц-День”&DATA2& – замена на текущую дату в формате “День-месяц-Год”&MBIG& – замена на текущий месяц в полном формате “December”&MSHORT& – замена на текущий месяц в сокращенном формате “Dec”&DAY& – замена на текущий день (число от 01 до 31)&TIME1& – замена на текущее время в формате “Часы-минуты-секунды”&TIME2& – замена на текущее время в формате “Часы-минуты”&EMAIL& – замена на email в режиме SuperLink&RNDNUM-A:B& – вставка случайного числа из диапазона от А до В, где A < B и целые числа.&RNDSTR-A:B& – вставка случайной строки из символов латинского алфавита (a-z, строчные) с длиной, равной случайному числу из диапазона от А до В. Где A меньше B и это целые числа.&RNDSTRUP-A:B& – вставка случайной строки из символов латинского алфавита (a-z, ЗАГЛАВНЫЕ) с длиной, равной случайному числу из диапазона от А до В. Где A меньше B и это целые числа.&RNDMIX-A:B& – вставка случайной строки из символов латинского алфавита и цифр (a-z строчные, 0-9 цифры) с длиной, равной случайному числу из диапазона от А до В. Где A меньше B и это целые числа.&RNDMIXUP-A:B& – вставка случайной строки из символов латинского алфавита и цифр (a-z ЗАГЛАВНЫЕ, 0-9 цифры) с длиной, равной случайному числу из диапазона от А до В. Где A меньше B и это целые числа.
Пример: &RNDNUM-500:1000&. Результат – случайное число в диапазоне от 500 до 1000.
Внимание! Не используете эту опцию с ссылками на сервисы редиректов и подобные им – это будет ломать исходную ссылку.
Вкладка «Ресурсы» — «Resources»
На этой вкладке можно менять заданные по умолчанию входные файлы с данными и каталог для записи получившихся PDF. В программе встроены всплывающие подсказки по каждой опции и используемых по умолчанию путях и файлах. Поэтому здесь подробнее на этих опциях я останавливаться не буду.

Вкладка «SuperLink»
Это еще одна особенность, которая делает генератор «Ceres» уникальным и выделяет его из всех остальных генераторов PDF для email рассылок.

Чекбокс «Включить режим Superlink» активирует режим работы с email базой данных. В этом режиме PDF файлы создаются согласно количеству загруженных email: одной почте соответствует один pdf. В каждом таком PDF доступно использование макросов для вставки email адресата и дополнительных данных из дополнительных 13 полей максимум (при наличии дополнительных полей). Также в эти PDF можно внедрять персонализированные ссылки (посредством добавления email`a получателя во все внешние ссылки).
Кнопка «Выбрать файл с Email-базой» вызывает диалог выбора файла с построчным списком email, которые будут внедрятся в создаваемый документ. По умолчанию это файл «pdf_res/email-base.txt».
Чекбокс «Включить фильтр по стоп-словам» активирует режим фильтрации данных из выбранного файла с электронными почтами. Это значит, что если будет обнаружено наличие строки из файла со стоп-словами в строке с почтой, то такая строка в работу взята не будет (будет записана в отдельный файл). Подробнее про режим работы и записываемые файлы смотрите в начале этого руководства, в разделе «Алгоритм создания PDF».
Кнопка «Выбрать файл со stop-словами» вызывает диалог выбора файла с построчным списком стоп-слов, почты с вхождениями которых будут отфильтрованы и удалены. По умолчанию файл «pdf_res/email-stopwords.txt».
В режиме «Superlink» количество сгенерированных PDF файлов определяется оставшимися после фильтрации электронными почтами и не зависит от значения параметра «Сколько делать PDF».
Чекбокс «Добавлять к ссылкам email получателя» активирует режим добавления ко всем полезным ссылкам окончания с email получателя. Которое нужно трекерам (ZTDS, Keitaro, Google Analytics, Яндекс.Метрика и т.п.) для отслеживания переходов по ссылкам из наших созданных PDF файлов.
«Префикс для email в результирующей ссылке» – определяет текст, который будет добавлен к взятым из файлов ссылкам перед добавлением почты адресата. По умолчанию стоит значение для обработки ключа в системе распределения трафика ZTDS – «?q=». В итоге получаются ссылки вида: http://link.com?q=email@mail.com. Подробнее про передачу ключевого слова в ZTDS смотрите ЗДЕСЬ (передача ключевого слова). Вы можете поставить свое значение – префикс UTM-метки или что-то иное.
Параметр «Кодировать email». Определяет вид email получателя в итоговой ссылке. Возможные значения:
- 0. Не кодировать (email остается в явном текстовом человеко читаемом виде)
- 1. Base16
- 2. Base32
- 3. Base64
Далее идет блок описания формата импортируемого файла с электронными почтами. Это должен быть текстовый файл в формате Windows (CR LF) в кодировке UTF-8 (как и все остальные входные файлы). Все поля данных должны быть отделены каким-то разделителем (запятая, точка с запятой, двоеточие и т.п.) без пробелов.
Правильно:
{email},{nick_name},{gender},{country}
Не правильно:
{email}, {nick_name}, {gender}, {country}

Вам надо создать описание составных частей импортируемых строк с email адресами и дополнительными полями (их присутствие возможно, но не обязательно). Для этого в строке (где сейчас стоит макрос {email}) надо указать соответствующими макросами дополнительные поля базы в порядке их следования.
Пример строки импортируемой базы (в файле примере генератора):
Email-1@mail.com,Name-1 Surmame-1,+1(800)000-0001,male,state-1,city-1
Пример описания импорта такой строки:
{email}{full_name}{mobile_phone}{gender}{state}{city}
Если вы оставите в описании только email-макрос {email}, то все остальные поля не будут вам доступны для создания контента PDF. Но такой вариант тоже работает. Между вставляемыми макросами не надо вручную прописывать разделитель. Его достаточно указать в поле “Separator:” – запятая, что подойдет в большинстве случаев.
Для того, чтобы скопировать имя макроса, наведите на него курсор мыши и щелкните левой кнопкой мыши 3 раза – макрос будет выделен. После этого нажмите CTRL-C (скопируйте выделенное в буфер обмена). Далее установите курсор в нужное место строки описания формата импорта и нажмите CTRL-V (вставка из буфера). Чтобы быстро очистить поле ввода нажмите на крестик справа в этом поле.
Все описанные макросами поля будут доступны для дальнейшего использования в тексте PDF через email-макросы. Их описание смотрите далее в разделе по макросам программы. Причем, именование макросов условно. Вы можете макросом {age} (возраст) обозначить совершенно любое дополнительное поле в импортируемой базе.
Чекбокс «Имя выходного pdf файла из email» включает режим именования итоговых PDF файлов в соответствии с полем email из импортированного файла с электронными почтами. При включении этой опции называть PDF файлы только как ‘<email>.pdf’, где <email> – почта из файла с Email-базой. Пример: для почты “mail@gmail.com” выходной pdf файл будет называться “mail@gmail.com.pdf”. Включение этого режима отменяет действие опции “Имя PDF-файла на выходе” из вкладки ‘Внешний вид’.
Чекбокс «Записывать файл соответствия email и имени pdf» включает запись файла соответствия email имени итогового PDF в выходном каталоге. Формат строки в этом файле: email,file_name.pdf Это простой текстовый файл с именем «<имя_базы>-clean_result_AMS.csv». Также этот файл дублируется с расширением “.txt” для удобства. Он нужен для того, чтобы рассылающая письма программа (AMS, к примеру) понимала, какому адресату какой персонифицированный pdf-файл отправить. Программа «AMS Enterprise» Макса Терентьева поддерживает работу с такими вложениями. Как настраивать АМС для работы с этим файлом читайте в разделе «Использование CERES в связке с AMS Enterprise».
ВНИМАНИЕ! В режиме SuperLink после чтения файла с email проводится синтаксическая валидация загруженных email. Если email не коректен (содержит недопустимые символы, не содержит символ “@” или иное), то он исключается из итоговой базы email для генерации. Именно поэтому при старте в режиме SuperLink в окне задания кол-ва файлов для генерации будет число, которое меньше общего количества загруженных электронных почт:

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

«Создавать подкаталоги»
При включенной опции в каталоге для записи созданных PDF файлов будет автоматически создаваться новая папка c именем из текущей даты и времени при каждом старте генерации PDF. И все сгенерированные в этот запуск файлы PDF будут записываться в нее. По умолчанию опция выключена и все генерируемые PDF записываются в подкаталог для записи PDF — по умолчанию «pdf_out». Новые PDF перезаписывают старые с такими же именами!
«Очищать выходной каталог»
При включенной опции после нажатия кнопки “Старт” все файлы (не папки, только файлы) в в выходном каталоге будут удалены. Опция нужна для того, чтобы каждый запуск генерации оставлял в выходном каталоге только новые сгенерированные PDF файлы, удаляя все то, что там уже было. Что в сочетании с периодическим запуском из планировщика Windows позволит регулярно обновлять PDF для рассылок в автоматическом режиме, без вашего участия.
«Звук по окончании генерации»
При включенной опции при окончании генерации воспроизводиться звук, сигнализирующий о том, что работа окончена.
«Запуск внешней программы перед генерацией»
При включенной опции после нажатия кнопки «START GENERATION» запускается внешний файл, который можно выбрать нажав на копку справа «Выбрать внешнюю программу».
Запускается только BAT-файл (.bat) и генератор ОЖИДАЕТ окончания его работы и только потом начинает генерацию. После генерации можно запускать любую программу (.bat или .exe).
По умолчанию будет запущен файл «_start.bat», находящийся в корневом каталоге генератора. Вы можете отредактировать этот файл, написав свой сценарий действий – переместить файлы откуда-то куда-то, удалить файлы, запустить различные программы и т. п. Что такое bat-файлы? BAT-файл — это последовательность команд для интерпретатора командной строки в виде текстового файла с расширением .bat или .cmd. Основное предназначение пакетных файлов — автоматизация рутинных действий пользователя компьютера. Пакетный файл bat — это текстовый документ со специальным расширением. Детальнее почитайте здесь, к примеру.
«Запуск внешней программы после генерации»
При включенной опции после окончания генерации PDF запускается внешний файл, который можно выбрать нажав на копку справа «Выбрать внешнюю программу». По умолчанию будет запущен файл «_final.bat», находящийся в корневом каталоге генератора.
«Запуск генерации при старте»
При включенной опции после запуска «CERES» сразу же начинает процесс генерации PDF с заданными при предыдущем запуске параметрами. Опция нужна для запуска генератора из внешнего приложения. Детальнее смотрите в разделе «Встраивание Ceres в рабочие процессы и управление конфигурацией».
«Выход после генерации»
Это логическое дополнение предыдущей опции. При включенной опции будет произведено завершение работы программы сразу после окончания генерации PDF. Если включен звук, то после проигрывания звука. Опция также нужна для интеграции генератора в рабочие процессы.
Группа «Настройки»
Дополняет работу с конфигурацией программы. При запуске программы конфигурация автоматически считывается из конфигурационного файла с именем по умолчанию «ceres.ini». При выход из программы конфигурация также автоматически записывается в конфигурационный файла с именем по умолчанию «ceres.ini». Детальнее про работу с конфигурацией читайте в в разделе «Встраивание Ceres в рабочие процессы и управление конфигурацией».
Кнопка `Сохранить. Save` — сохраняет текущие настройки генератора в конфигурационный файл. По умолчанию – «ceres.ini».
Кнопка `Загрузить. Load` — загружает настройки генератора из конфигурационного файла. По умолчанию – «ceres.ini». Если конфиг. файл не найден, то будет осуществлен сброс настроек на стартовые (по умолчанию).
Кнопка `Сбросить. Reset` — Сброс настроек на стартовые по умолчанию для текущего конфигурационного файла. Рекомендуется сбрасывать настройки при возникновении сбоев в генерации или при переносе программы в другое место.
Кнопка `Fix Path in Config` — коррекции путей к файлам ресурсов в конфигурационном файле. Производится замена на правильные стандартные пути файлов для текущего местоположения генератора. Эту операцию необходимо проделать при переносе папки с генератором в другое место или при использовании конфигурационного файла от другой копии генератора.
Вкладка «About»
Содержит информацию о названии, версии программы, контакты автора и регистрационный email.
При нажатии на надпись “Руководство пользователя” откроется браузер с руководством пользователя (вы его сейчас читаете :).

Тут же производится вывод оставшихся дней действия лицензии или же выводится надпись ‘License time left: life-time’ в случае вечной лицензии. Сразу после запуска эта информация не доступна. Она появится после первого нажатия на кнопку «Start GENERATION».
Также на этой вкладке находятся две технические кнопки.
«Деактивировать этот компьютер»
При нажатии на эту кнопку произойдет деактивация (отвязывание) вашей копии генератора на текущем компьютере. Деактивация возможна не ранее, чем через 30 дней после первичной активации. Подробнее смотрите в разделе «Регистрация и активация программы».
«Скопировать ID в буфер обмена»
Копирует уникальный идентификатор вашего компьютера в буфер обмена. Может потребоваться в некоторых проблемных ситуациях при контакте с автором для ускорения решения.
Описание входных файлов данных
На скриншоте далее представлено содержимое ресурсного подкаталога «pdf_res» программы.

Подкаталоги:
[base] – здесь по умолчанию находится файл с базой email адресов «email-base.txt» и файл со стоп-словами для фильтрации базы «email-stopwords.txt». Дополнительный файл для фильтрации базы по тематике зарубежного дейтинга — «email-stopwords_dating_for_men.txt» содержит стоп-слова + женские иностранные имена и позволяет удалять из входного файла почты женщин (ну и тематические и абузные адреса).
[bredotext] – сюда класть файлы, из которых берется текст построчно для генерации бредотекста. Каждая строка образует абзац в бредотексте (заканчивается символов перевода строки – абзацем). Можно загрузить литературное произведение или какой-то отчет 🙂
[macros] – каталог с файловыми макросами. В комплекте с генератором идут 7 готовых файловых макросов. Можете создавать свои файловые макросы. Подробнее читайте в следующем разделе “Описание макросов генератора“.
Внимание! Генератор работает ТОЛЬКО с растровыми графическими файлами (картинки, фото) в форматах JPG, PNG (у файлов должны быть только такие расширения). Прозрачность в PNG-файлах допускается, но будет удалена при обработке в генераторе. Эти требования касаются всей растровой графики (картинок и фото) для использования в генераторе. Наличие картинок с расширением JPEG может вызвать ошибку работы генератора и выходной каталог для PDF файлов будет пустой!!!!
[picture_background_1page] – из этого подкаталога случайным образом берутся картинки для размещения на фоне первой страницы (JPG, PNG, SVG).
[picture_background_npage] – из этого подкаталога случайным образом берутся картинки для размещения на фоне последующих страниц (JPG, PNG, SVG).
[pictures] – из этого подкаталога случайным образом берутся картинки для первой страницы. Подкаталоги не обрабатываются. Использовать только графические форматы с расширениями JPG, PNG.
[pictures_dop1] – из этого подкаталога случайным образом берутся картинки для дополнительных страниц. Эти картинки размещаются первыми (в вариантах с одним, двумя и четырьмя фото на странице) и на них вешаются дополнительные ссылки из файла «anchor_link1.txt».
[pictures_dop2] – из этого подкаталога случайным образом берутся картинки для дополнительных страниц. Эти картинки размещаются вторыми (в вариантах с двумя и четырьмя фото на странице) и на них вешаются дополнительные ссылки из файла «anchor_link2.txt».
[pictures_dop3] – из этого подкаталога случайным образом берутся картинки для дополнительных страниц. Эти картинки размещаются третьими (в вариантах с четырьмя фото на странице) и на них вешаются дополнительные ссылки из файла «anchor_link3.txt».
[pictures_dop4] – из этого подкаталога случайным образом берутся картинки для дополнительных страниц. Эти картинки размещаются четвертыми (в вариантах с четырьмя фото на странице) и на них вешаются дополнительные ссылки из файла «anchor_link4.txt».
[pictures_mask] – в этом подкаталоге находятся изображения для работы маскировочных функций генератора.
[pictures_user_set] – в этом подкаталоге находятся дополнительные файлы графики для использования в html-разметке. Назначение этих файлов станет понятно после прочтения раздела “Описание и примеры допустимой html-разметки”.
[svg] – подкаталог с векторными файлами графических примитивов для дополнительных страниц в формате «*.svg». Подробнее в описании опции «01. Генерация из графических примитивов».
[texts] – из этого подкаталога с текстовыми файлами случайным образом выбирается один, из которого идет генерация основного текста на первой странице. Для нового PDF выбирается новый файл. Доступно использование Spintax, макросов для передачи параметров в генерируемый текст и некоторых html-тегов. Детальное описание формата входного текста и макросов смотрите в разделе “Описание входного текста и примеры допустимой html-разметки” далее.
Внимание! Все текстовые файлы должны иметь кодировку UTF-8 и переносы в формате Windows (CR LF)!!!
Файлы: {anchor_link1.txt}, {anchor_link2.txt}, {anchor_link3.txt}, {anchor_link4.txt}, {anchor_link5.txt}, {anchor_link6.txt} – файлы с дополнительными ссылками, четыре из которых линкуются автоматом на картинки дополнительных страниц. Все эти шесть дополнительных ссылок – Анкоры – можно использовать через макросы при генерации основого текста. Берутся случайным образом из файлов без удаления.
{bredotext_links.txt} – файл с маскировочными или «мусорными» ссылками. Эти ссылки вешаются на бредотекст и графические примитивы в создаваемом PDF. Берутся случайным образом из файла без удаления.
{file_names.txt} – из этого файла случайным образом берется строка для генерации имени PDF файла при записи. Используется при активной опции «2. Имя брать из файла и добавлять порядковый номер».
{main_links.txt} – файл с основными ссылками. Берутся построчно случайным образом или последовательно . Вешаются автоматически на картинку первой страницы, на все первую страницу или вставляются в основной текст макросом &link&.
Оставшиеся 6 файлов нужны при генерации информационных META-данных PDF файлов. И применяются для дополнительной уникализации получающихся PDF. Эти файлы используются по умолчанию. Вы можете выбрать другие на вкладке «Ресурсы». Если вы создаете PDF для белой рассылки, то можете использовать page_keywords, page_subject и page_title для реального описания товара, услуги, предложения. Эта информация используется при поиске, индексации и анализе PDF файлов как в среде операционных систем, так и в интернете и, безусловно, аналитическими системами почтовых служб.
ВАЖНО! Во всех META-тэгах допускается использование ТОЛЬКО ЛАТИНСКИХ СИМВОЛОВ (кириллица не поддерживается)!
ВНИМАНИЕ! Перед началом работы желательно, но не обязательно отредактировать файлы с информационными МЕТА-данными под свои цели и задачи. Также максимально рекомендую заменить содержимое файлов бредотекста, мусорных маскировочных ссылок, имен PDF на выходе – в общем всего, что может совпасть хоть в малой части с генерацией другого клиента софта.
{page_author.txt} – из него случайным образом берутся строки для мета-тега «Автор».
{page_creator.txt} – из него случайным образом берутся строки для мета-тега «Создатель».
{page_keywords.txt} – из него случайным образом берутся строки для мета-тега «Ключевые слова». В одной строке может находится несколько ключевых слов через пробел. Если маскируется массовая рассылка, то лучше либо оставить файл пустым, либо нагенерировать очень много строк (можно также взять какое-то литературное произведение или очень большие списки чего-либо).
{page_producer.txt} – из него случайным образом берутся строки для мета-тега «Производитель».
{page_subject.txt} – из него случайным образом берутся строки для мета-тега «Тема».
{page_title.txt} – из него случайным образом берутся строки для мета-тега «Заголовок».
ВАЖНО! Файлы с данными имеют возможность использования комментирования строк, т.е. таких строк, которые есть в файле, но не обрабатываются программой – программа их игнорирует. Это сделано для удобства – к примеру, вы хотите временно перестать использовать некоторые строки из входных файлов, но не удалять их совсем, так как в дальнейшем они вам снова понадобятся. Комментирование строки (перевод ее в игнорируемое генератором состояние) осуществляется вставкой в начале строки символа решетки – #.
Пример активной строки: sample_email@mail.com
Пример закоментированной (не активной) строки: #sample_email@mail.com.
Часть имен файлов данных строго фиксирована, часть можно выбирать через интерфейс в диалогах вкладки «Ресурсы».
Описание макросов генератора
Макросы вставки ссылок из файлов:
&link&– вставка ссылки из файла с основными ссылками «main_links.txt»;&anchor1&– вставка ссылки из файла с дополнительными ссылками «anchor_link1.txt». Эти ссылки также вешаются на первые картинки в дополнительных страница. Эти моменты уже были описаны ранее.&anchor2&– вставка ссылки из файла с дополнительными ссылками «anchor_link2.txt».&anchor3&– вставка ссылки из файла с дополнительными ссылками «anchor_link3.txt».&anchor4&– вставка ссылки из файла с дополнительными ссылками «anchor_link4.txt».&anchor5&– вставка произвольной строки из файла «anchor_link5.txt». А вот у этого анкора есть особенность. Так как он (и следующий) не используются при автоматической расстановке ссылок на объекты (картинки) генерируемого PDF файла, то в нем можно использовать не только ссылки, но и какой-угодно текст. Для чего это применить – придумайте сами 🙂&anchor6&– вставка случайной строки из файла «anchor_link6.txt». Применение – аналогично предудущему&anchor5&.
Макрос &&&text&&& для отключения html-парсера
Для того, чтобы генератор воспринимал взятый файл, как простой текст, надо первой строкой такого файла поставить макрос &&&text&&&. В режиме простого текста не надо принудительно обозначать перенос строк кодом <br> или оборачивать текст в тег параграфа <p></p>. И станут недоступны выравнивание строк, задание размера шрифта текста, вставка гиперссылок (маскировка ссылки текстом) и прочие html-атрибуты.
Макрос &MASK_text& для маскировки блока текста “text”
Может затруднить анализ почтовикам замаскированного текстового блока (слова) “text”. Применяется разбитие слов на части. Может помочь убрать из поля зрения почтовика слова спам-тригеры (Крипта, Криптовалюта, Порно, Porno, Секс, Sex, ставки, Заработок и т.п.).
Пример маскировки слова ‘Porno’: &MASK_Porno&
Макросы генерации случайного значения при каждом вызове RND
Если несколько раз в пределах одного текста письма использовать одинаковый макрос, то на его место будут вставлены разные сгенерированные значения.
&RNDNUM-A:B&– вставка случайного числа из диапазона от А до В, где A < B и целые числа.&RNDSTR-A:B&– вставка случайной строки из символов латинского алфавита (a-z, строчные) с длиной, равной случайному числу из диапазона от А до В. Где A меньше или равно B и это целые числа.&RNDSTRUP-A:B&– вставка случайной строки из символов латинского алфавита (a-z, ЗАГЛАВНЫЕ) с длиной, равной случайному числу из диапазона от А до В. Где A меньше или равно B и это целые числа.&RNDMIX-A:B&– вставка случайной строки из символов латинского алфавита и цифр (a-z строчные, 0-9 цифры) с длиной, равной случайному числу из диапазона от А до В. Где A меньше или равно B и это целые числа.&RNDMIXUP-A:B&– вставка случайной строки из символов латинского алфавита и цифр (a-z ЗАГЛАВНЫЕ, 0-9 цифры) с длиной, равной случайному числу из диапазона от А до В. Где A меньше или равно B и это целые числа.
Макросы генерации случайного значения при вызове FIX
Если несколько раз в пределах одного блока текста письма использовать одинаковый макрос, то на его место везде будет вставлено одно и то же сгенерированное значение. В теме и теле письма значения будут разные.
&FIXNUM-A:B&– вставка случайного числа из диапазона от А до В, где A < B и целые числа.&FIXSTR-A:B&– вставка случайной строки из символов латинского алфавита (a-z, строчные) с длиной, равной случайному числу из диапазона от А до В. Где A меньше или равно B и это целые числа.&FIXSTRUP-A:B&– вставка случайной строки из символов латинского алфавита (a-z, ЗАГЛАВНЫЕ) с длиной, равной случайному числу из диапазона от А до В. Где A меньше или равно B и это целые числа.&FIXMIX-A:B&– вставка случайной строки из символов латинского алфавита и цифр (a-z строчные, 0-9 цифры) с длиной, равной случайному числу из диапазона от А до В. Где A меньше или равно B и это целые числа.&FIXMIXUP-A:B&– вставка случайной строки из символов латинского алфавита и цифр (a-z ЗАГЛАВНЫЕ, 0-9 цифры) с длиной, равной случайному числу из диапазона от А до В. Где A меньше или равно B и это целые числа.
Файловые макросы со значениями из строк файлов FILE
&FILE_FILENAME& – вставляется случайная строка из файла с именем “filename.txt”. Файл должен находится в подкаталоге программы “pdf_res\macros\”, быть в кодировке UTF-8, иметь расширение файла “.txt”. Имя файла должно состоять только из латинских букв, цифр, символа подчеркивания “_” и символа тире “-“. Если файл с заданным в макросе именем найден не будет, то на место макроса ничего не подставится. Можете создавать свои макросы.
Готовые файловые макросы:
&FILE_FIRSTNAMES_FEMALE_ENG& – вставка англоязычного женского имени
&FILE_FIRSTNAMES_MALE_ENG& – вставка англоязычного мужского имени
&FILE_SURNAMES_ENG& – вставка англоязычной фамилии
&FILE_FIRSTNAMES_FEMALE_RUS& – вставка русского женского имени
&FILE_SURNAMES_FEMALE_RUS& – вставка русскоязычной женской фамилии
&FILE_FIRSTNAMES_MALE_RUS& – вставка русского мужского имени
&FILE_SURNAMES_MALE_RUS& – вставка русскоязычной мужской фамилии
Макросы для вставки путей к изображениям PICTURE
&PICTURE&– вставка полного пути с именем произвольно выбранной картинки из каталога “pictures”&PICTURE_DOP1&– вставка полного пути с именем произвольно выбранной картинки из каталога “pictures_dop1”&PICTURE_DOP2&– вставка полного пути с именем произвольно выбранной картинки из каталога “pictures_dop2”&PICTURE_DOP3&– вставка полного пути с именем произвольно выбранной картинки из каталога “pictures_dop3”&PICTURE_DOP4&– вставка полного пути с именем произвольно выбранной картинки из каталога “pictures_dop4”&PICTURE_USER_PATH&– вставка пути (без имени файла) до каталога с дополнительной графикой пользователя “pictures_user_set”
Внимание! Важная информация. При обработке текста html-парсером вознивает ошибка в случае наличия в пути к файлу или в имени файла пробелов при использовании макросов группы &PICTURE&. Поэтому программа не использует файлы с пробелами в имени и/или пути. Соответственно, сам генератор не должен находится в каталоге, путь к которому содержит пробелы!!!!
Макросы вставки служебной информации (дат, времени, uuid) SYS
&SYS_DATA_NOW1&– текущая дата в формате “DD-MM-YYYY” (Международный английский) ’30-01-2024′&SYS_DATA_NOW2&– текущая дата в формате “Day Month(full) Year” ’30 January 2024′&SYS_DATA_NOW3&– текущая дата в формате “Day Month(abbreviation) Year” ’30 Jan 2024′&SYS_DATA_NOW4&– текущая дата в формате “MM-DD-YYYY” (США) ’01-30-2024′
&SYS_DATA_YESTERDAY1&– текущая дата – 24 часа в формате “DD-MM-YYYY” (Международный английский) ’29-01-2024′&SYS_DATA_YESTERDAY2&– текущая дата – 24 часа в формате “Day Month(full) Year” ’29 January 2024′&SYS_DATA_YESTERDAY3&– текущая дата – 24 часа в формате “Day Month(abbreviation) Year”’29 Jan 2024′&SYS_DATA_YESTERDAY4&– текущая дата – 24 часа в формате “MM-DD-YYYY” (США) ’01-29-2024′
&SYS_DATA_TOMORROW1&– текущая дата + 24 часа в формате “DD-MM-YYYY” (Международный английский) ’31-01-2024′&SYS_DATA_TOMORROW2&– текущая дата + 24 часа в формате “Day Month(full) Year” ’31 January 2024′&SYS_DATA_TOMORROW3&– текущая дата + 24 часа в формате “Day Month(abbreviation) Year” ’31 Jan 2024′&SYS_DATA_TOMORROW4&– текущая дата + 24 часа в формате “MM-DD-YYYY” (США) ’01-31-2024′
&SYS_DAY_TODAY&– текущий день (число от 01 до 31)&SYS_MONTH_BIG&– имя текущего месяца в полном формате «December»&SYS_MONTH_SHORT&– имя текущего месяца в сокращенном формате «Dec»&SYS_YEAR_TODAY&– текущий год (число вида 2024)&SYS_DAY_OF_WEEK&– полное название дня недели в текущей языковой локали по умолчанию (Sunday, Monday, …)&SYS_TIME1&– текущее время в формате «Часы-минуты-секунды»&SYS_TIME2&– текущее время в формате «Часы-минуты»&SYS_UUID&– генерация случайного uuid (строки вида “e00d28aa-5bb3-4923-88b1-ec60fd9ceb7e”)
Макросы для вставки значений полей данных текущего email из импортированной базы EMAIL_ (в режиме SuperLink)
&EMAIL_EMAIL&– почта (в виде mail@mail.com)&EMAIL_LEFTPART&– почта до @ слева (“mail” для почты “mail@mail.com”)&EMAIL_RIGHTPART&– почта после @ – домен (“mail.com” для почты “mail@mail.com”)&EMAIL_FULL_NAME&– полное имя&EMAIL_FN_LEFT&– левая часть из полного имени (&EMAIL_FULL_NAME&) до первого пробела&EMAIL_FN_RIGH&– правая часть из полного имени (&EMAIL_FULL_NAME&) после первого пробела&EMAIL_FIRST_NAME&– имя&EMAIL_LAST_NAME&– фамилия&EMAIL_NICK_NAME&– никнейм&EMAIL_AGE&– возраст&EMAIL_GENDER&– пол&EMAIL_MOBILE_PHONE&– номер телефона&EMAIL_COUNTRY&– страна&EMAIL_STATE&– штат (область)&EMAIL_ZIP&– почтовый индекс&EMAIL_CITY&– город&EMAIL_DATE_OF_BIRTH&– дата рождения&EMAIL_LANG&– язык
Пример работы email-макросов для строки импортируемой базы (она есть в файле примере генератора):
Caroline-Hoffner@gmail.com,Caroline Hoffner,+1(800)000-0015,female,state-15,city-15

Описание входного текста и примеры допустимой html-разметки
В этом разделе поговорим о входных текстовых файлах, из которых создается текстовое содержимое PDF. Они располагаются в подкаталоге “/pdf_res/texts/” и должны быть в формате Windows (CR LF) с кодировкой UTF-8 и расширением “.txt”. Генератор случайным образом будет выбирать файл из этой папки для генерации одного pdf файла.
Эти файлы могут быть:
- Простыми текстовыми файлами
- Содержать базовую HTML-разметку.
Для того, чтобы генератор использовал взятый файл, как текст, надо первой строкой такого файла поставить макрос &&&text&&&. В режиме простого текста не надо принудительно обозначать перенос строк кодом <br> или оборачивать текст в тег параграфа <p></p>. И станут недоступны выравнивание строк, задание размера шрифта текста, вставка гиперссылок (маскировка ссылки текстом) и прочие html-атрибуты.
Если такого макроса нет, то входной текст по умолчанию обрабатывается HTML-парсером. Вы можете одновременно использовать и html и простые текстовые файлы, так как макрос влияет только на текущий файл и одну генерацию pdf, соответственно.
Поддерживаемые HTML-теги
- <h1> to <h8>: заголовки (иalign атрибут)
- <p>: параграф (иalign, line-height атрибуты)
- <b>, <i>, <u>: жирный, курсив, подчеркивание
- <font>: шрифт с face, size, color атрибутами
- <center> для центрирования текста
- <a>: ссылки ( иhref атрибут) на URL
- <pre> & <code> тэги
- <img>: изображения с src, width, height атрибутами
- <ol>, <ul>, <li>: ordered, unordered and list items (can be nested)
- <dl>, <dt>, <dd>: description list, title, details (can be nested)
- <sup>, <sub>: верхние и нижние индексы
- : таблица с align, border, width, cellpadding, cellspacing атрибутами
- <thead>: необязательный тег, wraps the table header row
- <tfoot>: необязательный тег, wraps the table footer row
- <tbody>: необязательный тег, wraps the table rows with actual content
- <tr>: строки с align, bgcolor атрибутами
- <th>: ячейка заголовка таблицы с align, bgcolor, width атрибутами
- <td>: ячейка таблицы с align, bgcolor, width, rowspan, colspan атрибутами
Ограничения
HTML парсер не поддерживает некоторые конфигурации вложенных тегов. Например:
- <table> ячейка таблицы может содержать <td><b><em>вложенные в друг друга теги, образующие один текстовый блок</em></b></td>, но не должна содержать <td><b>произвольно</b> вложенные <em>теги</em></td>
Рассмотрим некоторые HTML-теги и приемы
Для вставки переносов строк на новый абзац надо явно указывать в конце строки тег <br> – это тег принудительного переноса строки.
Вы можете использовать следующие теги (в сочетании с макросами) для оформления текста:
<center>Располагаем этот ТЕКСТ по центру</center><br>
<br>
<p>Это текст в абзаце. В конце которого будет вставлен автоматический перенос строки. В текст, обернутый в тег 'p' не надо в конце вставлять тег 'br' для переноса строки.</p>
<b>Жирный текст</b>
<i>Курсив</i>
<u>Подчеркивание</u>
<font color="#00ff00"><p>Этот текст будет написан зеленым цветом!</p></font>
<font color= "#000000" size="&RNDNUM-15:20&"><center>ТЕКСТ по центру черный</center></font>
В этом примере надпись «ТЕXТ» будет размещена по центру страницы, написана черным цветом и иметь случайный размер шрифта от 15 до 20. То есть помимо задания размера шрифта в настройках, вы можете в самом тексте также явно указать размер шрифта. А если еще встроить макрос генерации чисел, то получим еще один плавающий размер.
<a href="&anchor1&">Гиперссылка</a>
Гиперссылка может использоваться для визуальной маскировки ссылки. В гиперссылке также можно использовать макросы для задания ссылок. Например:
<a href="&link&">Click HERE!!!</a> <a href="&anchor1&">Нажмите ЗДЕСЬ!!!</a>
Текстовые тэги жирного, курсива и подчеркивания можно комбинировать между собой:
<b><i>Жирный курсив</i></b><br>
<u>Подчеркивание</u><br>
<b><u>Жирное подчеркивание</u></b><br>
<i><b><u>Жирный курсив с подчеркиванием</u></b></i><br>
Для создания горизонтальной линии по всей ширине страницы
Вставляем таблицу, в ячейку которой вставлена картинка с длинной линией на 100% ширины страницы (можно уменьшать):
<table width="100%">
<tr>
<td>
<img src="&PICTURE_USER_PATH&{line-black-2px.gif|line-gray-2px.gif|line-orange-2px.gif}">
</td>
</tr>
</table>
Здесь макрос &PICTURE_USER_PATH& вставляет путь до каталога “pictures_user_set”. Спинтакс {line-black-2px.gif|line-gray-2px.gif|line-orange-2px.gif} оставляет в итоге только одно имя файла-картинки с горизонтальной линией.
Я подготовил 10 файлов с линиями разных цветов + файл-исходник в формате Adobe Photoshop для создания дополнительных. Они находятся в каталога “pictures_user_set”.
Вставка своей картинки по центру страницы на 50% ширины страницы
Вставка картинки с именем “picture_file.jpg” на 50% ширины страницы, предварительно помещенной в подкаталог “pictures_user_set”:
<table width="50%">
<tr>
<td>
<img src="&PICTURE_USER_PATH&picture_file.jpg">
</td>
</tr>
</table>
Вставка картинки по центру страницы на 25% ширины страницы
Вставка по центру страницы случайной картинки из каталога “pictures” на 25% общей ширины страницы:
<table width="25%" align="center">
<tbody>
<tr>
<td><img src=&PICTURE&></td>
</tr>
</tbody>
</table>
Вставка с выравниванием по правому краю страницы дня недели и даты шрифтом с размером кегля в диапазоне от 10 до 14
<p align="right"><font size="&RNDNUM-10:14&">Sales Receipt date: &SYS_DAY_OF_WEEK&, &SYS_DATA_NOW2&</font></p>

Пример надписи белым текстом на синем фоне (на базе таблицы)
Здесь в параметре <table width=”100%”> можно менять ширину этого синего блока. Например, 75% от ширины, 50% от ширины и т.п.
<table width="100%">
<tbody>
<tr>
<td bgcolor="#000080" align="justify"><font color="white"><b>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quae cum ita sint, effectum est nihil esse malum, quod turpe non sit. Itaque nostrum est-quod nostrum dico, artis est-ad ea principia, quae accepimus. Quod totum contra est. Duo Reges: constructio interrete. Atqui iste locus est, Piso, tibi etiam atque etiam confirmandus, inquam.
</b></font></td>
</tr>
</tbody>
</table>

Пример таблицы на 4 ячейки с форматированием текста от центра страницы
Правая верхняя ячейка таблицы с зеленым фоном и белым текстом.
<table width="100%">
<tbody>
<tr>
<td align="right">1 Sample</td>
<td bgcolor="#00ff00" align="left"><b>Alice</b></td>
</tr>
<tr>
<td align="right">2 Long long sample line</td>
<td align="left"><font color="#00ff00"><b>Bob Chipesku</b></font></td>
</tr>
</tbody>
</table>

Небольшая желтая линия по центру страницы (без использования картинки)
<font color="yellow" size="12"><center>————————————</center></font>
<br>

Пример завершающей надписи внизу по центру страницы (для фирменных блаков)
<p align="center"><font size="&RNDNUM-9:10&">
Copyright ©2024. All rights reserved.<br>
Terms of Use | Privacy Policy | Sales and Refunds
</font></p>

Вставка картинки из интернета по центру страницы
Вставка картинки из интернета на 10% ширины страницы:
<table width="10%">
<tbody>
<tr>
<td><img src="https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png"></td>
</tr>
</tbody>
</table>

В подкаталоге “/pdf_res/texts/Samples/” находятся несколько файлов с примерами. В файле “text-table-1.txt” находяться описанные примеры с вызовом внешних картинок, оформлением и использованием макросов PICTURE.
Справочная информация
Смотрите тут HTML-теги специальных символов
Коды цветов с примерами смотрите тут. Используйте значения из колонки “Hexadecimal” для задания цвета текста, фона под текстом.
Экспериментируйте, пробуйте.

Пример входного текста со спинтаксом и макросами:
{Im|I am|I'm} &FILE_FIRSTNAMES_FEMALE_ENG& &FILE_SURNAMES_ENG&.<br>
{I would like|I want} {to share something with you.|to choose you.}<br>
{I am a very interesting girl. | ..| |}<br>
<br>
<a href=»&link&»>Click HERE!!!</a><br>
<br>
<font color=»#00ff00»><p>Hello in green</p></font>
<br>
email - &email&, link - &link&<br>
anchor1 - &anchor1&<br>
anchor2 - &anchor2&<br>
anchor3 - &anchor3&<br>
anchor4 - &anchor4&<br>
anchor5 - &anchor5&<br>
anchor6 - &anchor6&<br>
<b>Жирный текст</b><br>
<i>Курсив</i><br>
<b><i>Жирный курсив</i></b><br>
<u>Подчеркивание</u><br>
<b><u>Жирное подчеркивание</u></b><br>
<i><b><u>Жирный курсив с подчеркиванием</u></b></i><br>
<a href=»&anchor1&»>Anchor1 text</a><br>
<br>
Внимание! Из-за первичной обработки текста на Spintax-конструкции, символы фигурных скобок ” {” и ” }” не проходят до HTML-парсера (так как ими обозначают спинтакс). Для того, чтобы такие символы отобразились, их надо “экранировать” – поставить перед ними обратный слеш ” \”. То есть в итоге для вывода в итоговом тексте фигурных скобок надо поставить ” \{” и ” \}”.
Встраивание Ceres в рабочие процессы и управление конфигурацией
В версии 1.10 в «Ceres» появилась работа с файлами конфигурации программы. Помимо того, что это ощутимо повышает удобство работы, введение такого функционала открывает дорогу к использованию генератора в составе сложных систем трафико-генерации. Эти системы могут быть сформированы из различного софта и построены так, чтобы без участия оператора автоматически создавать и отправлять письма по заранее подготовленным спискам адресатов. В такие системы могут входить, к примеру, — AMS при использовании планировщика рассылок, скрипты на ZennoPoster и BAS, и, конечно же, самописный софт. Единственное ограничение для интеграции генератора «Ceres» в такую систему — она должна функционировать на базе ОС Windows (домашний комп, VDS или VPS).
Как выглядит интеграция в общем виде? В «Ceres» предварительно настраиваются параметры генерации PDF, включается режим автозапуска и автовыхода при старте. Затем настраивается «Планировщик заданий» (встроенное в Windows мощное средство для запуска программ и не только) на запуск генератора, к примеру, раз в сутки. В назначенное время планировщик запускает «Ceres». Последний отрабатывает и создает новый комплект PDF файлов. Ваш рассыльщик продолжает рассылать письма с аттачами, но берет уже новые PDF. С новыми элементами, редиректами, текстами, метатегами и прочим. В деталях настройку опишу чуть позже, а пока рассмотрим работу с файлами конфигурации.
Работа с конфигурационными файлами из интерфейса программы
Теперь «Ceres» может запоминать все настройки параметров генерации и режимов работы и их не надо заново выставлять при каждом запуске программы. При старте софт автоматически считывает конфигурацию из файла. При выходе из программы софт также автоматически сохраняет конфигурацию на момент выхода в конфигурационном файле.
Из интерфейса программы на вкладке ‘Extra’ доступны следующие операции с конфигом:
- Сохранить — сохраняет текущие настройки генератора в конфигурационный файл. По умолчанию это файл ‘ceres.ini’ в папке генератора.
- Загрузить — загружает настройки генератора из конфигурационного файла. По умолчанию – ‘ceres.ini’. Если конфигурационный файл не найден, то будет осуществлен сброс настроек на стартовые (по умолчанию).
- Сбросить — Сброс настроек на стартовые по умолчанию для текущего конфигурационного файла.
Встраивание «Ceres» в рабочие процессы
Для запуска генератора из внешней среды (планировщика заданий Windows или вашего собственного софта – рассыльщика) все, что вам потребуется сделать:
- Настроить конфигурацию создаваемых PDF;
- Включить опции «Запуск генерации при старте» и «Выход после генерации» на вкладке Extra;
- При необходимости каких-либо дополнительных действий перед началом генерации включить опцию «Запуск внешней программы перед генерацией» и выбрать эту программу. Либо отредактировать запускаемый по умолчанию файл ‘_start.bat’;
- При необходимости каких-либо дополнительных действий после окончания генерации включить опцию «Запуск внешней программы после генерации» и выбрать эту программу. Либо отредактировать запускаемый по умолчанию файл ‘_final.bat’;
- Сохранить конфигурацию явно, нажав на кнопку «Сохранить» или программа сделает это автоматически при выходе;
- Настроить планировщик заданий Windows на периодический запуск генератора. Или прописать в стороннем (или своем) софте запуск генератора при необходимости.
Для того, чтобы отключить авто-выход из программы после окончания генерации PDF, успейте снять галку в чекбоксе «Выход после генерации» на вкладке Extra ДО окончания процесса генерации. Или же сбросьте конфигурацию двумя способами: 1) нажав на кнопку сброса в интерфейсе, 2) удалив файл конфигурации ‘ceres.ini’ – при запуске будет создан новый с параметрами по умолчанию.
Настройка планировщика Windows
Информации на эту тему в интернете предостаточно, так что не буду здесь повторяться.
Дополню тем, что если вам необходимо произвести несколько запусков генератора в сутки, то просто создайте соответствующее число задач планировщика, так как минимальный интервал повторения штатными средствами – раз в сутки. Учитывайте время (произведя вручную первое генерирование PDF, зафиксирововав затраченное время и увеличив его на 10-20% минимум для страховки на случай сильной загрузки ресурсов компьютера в этот момент), потребующееся генератору на создание заданного количества PDF-файлов. Не создавайте ситуацию, когда планировщик запускает новую копию генератора на выполнение, а старая еще не закончила свою работу.
Использование CERES в связке с AMS Enterprise
И, наконец, о том, как использовать уникальную возможность генерации PDF c внедренными персонализированными ссылками и персонифицированными обращениями.
PDF файлы сами себя адресатам не отправят, поэтому нужен софт, который умеет работать с персонализированными вложениями. То есть отправлять адресату предназначенный только для него файл аттачем. Такие софты есть. Среди них — широко известный AMS Enterprise.
При работе в режиме SuperLink «Ceres» помимо PDF файлов, создает в выходном каталоге файл с расширением .csv (при включенной опции «Записывать файл соответствия email и имени pdf»).
Этот файл и будет связующим звеном между рассыльщиком и сгенерированными PDF, предоставляя соответствие имени файла для аттача email`у адресата.
Итак, у нас есть сгенерированные PDF и соответствующий им .csv файл (созданные под предварительно подготовленный список email`ов).
Запускаем AMS. Идем в «Списки рассылки». Создаем там новый список или очищаем старый.

Нажимаем кнопку «Загрузить», выбираем формат CSV и разделитель — запятая. Жмем «Продолжить». Выбираем наш сгенерированный «Ceres» .csv файл.
Появляется окошко, в котором мы должны сопоставить поля внутренней базы данных АМS и поля из нашего загруженного файла. У нас два таких поля: в одном — email адрес, в другом имя файла соответствующего этому адресу.
Итак, сначала выбираем поле Email и присваиваем ему значение email`a из раскрывающегося списка справа.

Далее выбираем слева какое-нибудь не используемое вами поле в списке рассылки. К примеру, пусть это будет поле «HomeAddress».

В правом окошке (Входящие поля) выбираем ему в соответствие второй поле из нашего загруженного списка, в котором стоит имя PDF файла (как вариант – ‘email’ + ’.pdf’).
Жмем ОК. АМС подгружает данные и показывает статистику загрузки. Ок. Теперь мы видим что в нашем списке каждому почтовому адресу стоит соответствие имени файла:

Отлично. Теперь идем в редактор писем и создаем новое или же выбираем уже готовое письмо.
В открывшемся окне редактора жмем на «Добавить файл» слева внизу в секции «Вложения».
Выбираем тип вложения «Персонализированное вложение».
В поле списка, содержащем имена файлов, выбираем наш «Home Address».
Далее выбираем каталог (папку), в котором находятся наши сгенерированные для рассылки PDF и жмем «Продолжить».

Затем сохраняем и выходим из редактора письма. Все! Мы настроили рассылку с персональными вложениями в виде наших PDF файлов.
Для запуска рассылки непосредственно, идем на главый экран, выбираем в списке адресов наш созданный список, в который мы загружали CSV файл. В поле письма выбираем наше подготовленное письмо с персонифицированным вложением. Настраиваем все остальное, жмем кнопку «Старт» и наслаждаемся результатом!

Условия приобретения и использования
Условия приобретения генератора и текущие акции смотрите на канале софта. Для приобретения генератора пишите автору в Telegram или на электронную почту.
Программа устанавливается на 1 компьютер и привязывается к текущей конфигурации компьютера. Соответственно, существенное изменение конфигурации компьютера вызовет неработоспособность выписанной лицензии.
Допускается перепривязка самостоятельно с интервалом не менее 30 дней (в этом случае от автора все равно потребуется получить новый ключ для другого компьютера, просто процедуру отвязки лицензии вы произведете сами).
В экстренных случаях (при изменении конфигурации компьютера, переустановке операционной системы) — пишите автору.
Предложения по доработке функционала принимаются по контактам автора в понятной форме. Если предложения интересны, полезны и могут быть реализованы, то они могут появиться в следующих версиях программы.
Регистрация и активация программы
При первом запуске программа выдаст окно с предупреждением о незарегистрированной версии и идентификатором компьютера (ID).

Нажмите левой кнопкой мышки на это окно, затем нажмите клавиши CTRL-C — так вы скопируете текст этого окна в буфер обмена (clipboard) вместе с ID компьютера.
Отправьте этот текст разработчику. Также сообщите свой действующий e-mail (на него будет оформлена программа).
Далее вы получите файл ключа для генератора PDF с именем «cereskey.dat». Поместите этот файл в каталог с программой и не удаляйте его впоследствии! Повторно запустите программу. Появится окошко с сообщением об успешной регистрации. После чего произойдет запуск генератора.
При первом старте генерации PDF программа попросит ввести e-mail для активации. Введите тот же email, который вы сообщили разработчику при покупке.
Затем нажмите на кнопку «Start GENERATION» для финальной активации программы.
При работе программа связывается с сервером активации. Поэтому для ее функционирования необходимо интернет-соединение.
Также на вкладке «About» производится вывод оставшихся дней действия лицензии или же выводится надпись ‘License time left: life-time’ в случае вечной лицензии. Сразу после запуска эта информация не доступна. Она появится после нажатия на кнопку «Start GENERATION».

Программу можно переносить на другой компьютер, но не ранее 30 дней после установки. Для этого сначала деактивируйте отключаемую копию, нажав на кнопку «Деактивировать этот компьютер» на вкладке «About».
Если с момента первичной активации прошло 29 или менее дней, то операция деактивации закончится неудачей. Если деактивация успешна, то программа сообщит об этом и завершит работу.
Не удаляйте эту установленную программу в том случае, если планируете через какое-то время снова активировать эту копию!!! Ее наличие позволит вам без участия автора программы деактивировать и активировать эти уже установленные версии программы на различных компьютерах (спустя 30-ти дневные холд-периоды) самостоятельно.
После деактивации скопируйте установочный дистрибутив на другой компьютер и проведите первичную процедуру регистрации нового оборудования как описано в начале этого раздела.
Итак, как выглядит работа на разных компьютерах. К примеру, у вас установлена программа на домашнем стационарном компьютере. Вы собираетесь в поездку и берете с собой ноутбук. Для установки программы на ноут вы сначала деактивируете программу на домашнем стационарном компьютере. Затем копируете дистрибутив на ноут, делаете первичный запуск программы на ноуте, связываетесь с автором для регистрации нового обрудования (отправляете ему идентификатор нового компьютера (ID) и свой e-mail на который была оформлена покупка программы). Автор осуществляет регистрацию и передает вам новый ключ. Вы регистрирует этим ключом копию программы на ноутбуке (просто помещая ключ в папку с программой). Затем при первом старте генерации вводите свой email (активация) и пользуетесь программой на ноутбуке. По возвращении из поездки (не менее 30 дней длительности 🙂 вы деактивируете копию на ноутбуке. Затем просто снова запускаете копию на стационарном компьютере, вводите свой email и пользуетесь программой уже на стационаре без контактов с автором и новых ключей. Вы можете установить программу на несколько компьютеров, но пользоваться ей можно будет только на одном из них. Смена рабочего компьютера будет возможна с интервалом не чаще раз в 30 дней.
ВНИМАНИЕ! Программа привязывается к текущей конфигурации компьютера. И ее изменение вызовет блокировку программы! Также не стоит пытаться переносить зарегистрированную программу на другой компьютер – она не будет работать нигде, кроме компьютера, на котором ее первично активировали. Если будет обнаружена попытка обхода защиты, программа может заблокироваться и вы потеряете свою лицензию!
Из-за особенности защиты и упаковки ресурсов некоторые антивирусы могут ругаться на исполняемый файл программы.
ВНИМАНИЕ! Если вы копируете папку с уже запускавшейся программой в другое место комьютера или переносите ее на другой компьютер, то при первом запуске на вкладке «Extra» в секции «Настройки» нажмите кнопку «Сбросить» для сброса настроек. Иначе генератор может не работать из-за не правильных путей к рабочим папкам и файлам.
FAQ – Часто задаваемые вопросы
Можно запускать генератор PDF без подключения к сети интернет?
Нет, нельзя. При запуске каждой генерации программа связывается с сервером лицензий и получает разрешение на дальнейшую работу. Если не будет интернет-соединения, программа просто не сможет работать.
Можно перенести папку с генератором в другое место на том же компьютере?
Да, можно. Но после переноса надо обязательно нажать на кнопку “Fix Path in Config”, расположенную в блоке “Настройки” на вкладке “Extra”. Это нужно для запуска процедуры коррекции путей в файле настроек генератора.

Изображения с какими расширениями можно использовать с генератором PDF?
Генератор работает ТОЛЬКО с растровыми графическими файлами (картинки, фото) в форматах JPG, PNG (у файлов должны быть только такие расширения). Эти требования касаются всей растровой графики (картинок и фото) для использования в генераторе. Наличие картинок с расширением JPEG может вызвать ошибку работы генератора и выходной каталог для PDF файлов будет пустой!!!! Если вам необходимо использовать какие-то конкретные графические файлы в не поддерживаемых генератором форматах, то предварительно произведите конвертацию в поддерживаемый формат. Это можно сделать любым online конвертером графики в сети интернет.
Я запускаю генератор, но генератор не создает pdf файл. Что может быть причиной?
Причин отсутствия файла (или файлов) после работы генератора может быть несколько. И эти причины могут присутствовать одновременно все:
- Не верные пути в конфигурационном файле “ceres.ini”. После переноса каталога с программой из другого места. Для исправления надо нажать на кнопку “Fix Path in Config” расположенную в блоке “Настройки” на вкладке “Extra”.
- Среди изображений, которые вы записали во входные каталоги генератора, помимо правильных JPG, PNG есть другие графические форматы. В частности, файлы с расширением JPEG, BMP, GIF, TIFF и иные граф. форматы. Удалите все неподдерживаемые генератором форматы и оставьте только файлы с расширениями JPG и PNG.
- В текстовых файлах на входе генератора есть не поддерживаемые кодировки. Проверьте все текстовые файлы, которые вы сами добавляли. Все текстовые файлы должны иметь кодировку UTF-8 и переносы в формате Windows (CR LF)!!!
Если перечисленных причин у вас нет, или вы их устранили, но PDF файл все равно не создается, то напишите автору программы и вышлите файл “ceres_log.txt” из папки с генератором – будем разбираться вместе в причинах. Можете сами посмотреть файл “ceres_log.txt” – возможно это поможет в поиске причины.
Можно запустить одновременно несколько копий генератора PDF на одном компьютере?
Да, можно. Разместите копии в разных местах и запускайте каждую по отдельности. Программа привязывается к конкретному компьютеру, но на количество одновременно зарущенных копий ограничений нет. Запустив несколько копий вы можете повысить общую производительность генерации PDF, при условии, что конфигурация компьютера достаточно мощная.
К примеру, можно одну копию поставить на генерацию большого количества PDF, а на второй копии генерировать поштучно PDF для текущих тестов.
Почему у меня автивирус ругается на исполняемый файл генератора PDF?
Генератор PDF защищен специальной шифрующей защитой (обеспечивающей привязку к аппаратному обеспечению компьютера и защиту от внесения изменений в код программы), которую некоторые антивирусные программы могут ошибочно принимать за вредоносный код. Если это происходит, внесите исполняемый файл генератора PDF “Ceres_v1_40_prot_ru.exe” в исключения антивирусной программы.
Всем профита! Благодарю за внимание!
Информацию о новых версиях, примеры работы, анонсы и акции смотрите в телеграм-канале “Bulk Email software by Sfinx”. Там же смотрите примеры сгенерированных PDF файлов, дополнительную информацию по использованию, стоимость программы и т.п. Ccылка на автора генератора PDF «Ceres» в Телеграм.