Как стать автором
Обновить

Генератор бизнес писем в PDF по данным из XML

Время на прочтение2 мин
Количество просмотров4.1K
Очень часто в производстве возникает задача разослать несколько писем с вложением в формате pdf. Это могут быть не только счета или фактуры, но и извещения или приглашения, персональные сообщения об акциях и тому подобное. Конечно, еще со свадьбы в записной книжке завалялось сотня другая человек. Текст письма может быть как статическим, так и вариативным. И тут обегаешься по всему интернету с вопросом как это сделать…

Возьмем за основу письмо следующего содержания



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

Подготовим базу адресатов в xml формате, я не буду пояснять что там значит заголовок, думаю, что опытный читатель разберется сам. Отмечу только, что формат легко меняется под ваши данные, которые набиваются по вашему индивидуальному шаблону

Итак, база получателей (оригинальные xml файлы размещены по ссылке в конце. Вы можете скачать их и изменить по собственному желанию)




В качестве модели имеем, набор полей Дата, Название компании, Имя, Адрес, Город, Телефон

  <Date>Friday, 23/05/2019</Date> 
  <CompanyName>Qualcomm</CompanyName> 
  <Name>Lucas</Name> 
  <Address>711-2880 Nulla St.</Address> 
  <City>Mankato Mississippi 96522</City> 
  <Phone>(257) 563-7401</Phone>


Скачиваем демоверсию FastReport и открываем Letter_Blank.frx



В рассматриваем случае дата отправки письма в правом верхнем углу тянется из xml файла, поэтому заменяем этот текст на



Что означает, что текст будет тянуться из поля Data таблицы Letters

Аналогично проделываем подобную подстановку с другими динамическими значениями (они для наглядности выделены красным)



Более подробно вы можете ознакомится с этими заменами в файле Letter.frx

Запускаем отчет и получаем



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

github.com/ufocombat/Letters
Теги:
Хабы:
Всего голосов 10: ↑8 и ↓2+6
Комментарии5

Публикации

Истории

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань