Среда, Ноябрь 22, 2017

Printshop Mail. Графическая персонализация.

Часто помимо текстовой персонализации нам необходимо вставить в персонализированный документ графику. Например если стоит задача напечатать сотню удостоверений с фотографиями. Или как вариант бейджи с разным фоном. В общем примеров персонализации можно приводит великое множество. Я рассмотрю печать удостоверений с разными фотографиями.






 

Теперь, уважаемый гость, ты знаешь как делать нумерацию и спуск полос. Пора приступить к сложным и интересным заданиям. Мы имеем задачу напечатать сотню персонализированных удостоверений. На каждом удостоверении своя фотография, фамилия, имя, отчество, должность и например дата. Берем уже готовый макет удостоверения и готовую базу из предыдущего материала. Из файла Corel делаем pdf, фотографию будем называть по порядковому номеру в базе. То есть по списку идет человек первым, его фотография должна называться 1.jpg, на второго по списку фото должно называться 2.jpg и так далее по всему списку. Все дело в том, что PrintShop Mail будет работать только с именем графического объекта, а сама фотография будет находиться на жестком диске и будут создаваться уникальные линки для каждого удостоверения. Конечно если в списке пара сотен человек, с переименовыванием фотографий придется попотеть, но лучше перекладывайте эту задачу на плечи заказчика, снимая с себя ответственность. Готовим базу фотографий, складываем куда-нибудь в папочку.

Открываем PrintShop Mail, выставляем размер страницы, вставляем макет, подключаем базу данных, вставляем все переменные данные. Все это подробно было описано ранее, посмотреть можно тут и тут. После всего проделанного у вас должно получиться примерно так:

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

Теперь нужно прописать путь к нашим фотографиям. Правой кнопкой на рамке рисунка - редактировать выражение.

Сейчас немного поясню. Вместо строки "" мы прописываем путь к нашим файлам и вставляем нашу переменную. Таким образом для первого человека в списке будет подставляться картинка 1.jpg из папки c:/temp/images/. Для второго человека по списку будет подставляться файл 2.jpg. И так далее по списку. Жмем ОК, проверяем листая записи.

Все очень и очень просто. Остался небольшой нюансик. На данный момент фамилия имя отчество у нас в одну строку. А заказчик например хочет в первой строчке фамилию прописными буквами, а во второй строке имя, отчество с заглавной. Тоже все очень просто. Редактируем выражение ФИО, вставляем там следующие формулы.

Для начала разобьем строку на фамилию и имя отчество. Для этого нам нужно найти первый пробел в выражении, функцией POS ([Фамилия,имя, отчество_(полностью)], " ",2). Ищем со второго символа на случай если по ошибке в базу влезет пробел. Мы знаем позицию первого пробела, пока обрезаем все остальное, оставив только фамилию: left ([Фамилия,имя, отчество_(полностью)], POS ([Фамилия,имя, отчество_(полностью)], " ",1)).

Запутанно конечно немного, но тем не менее теперь делаем фамилию заглавными буквами: upper (left ([Фамилия,имя, отчество_(полностью)], POS ([Фамилия,имя, отчество_(полностью)], " ",1))).

Первая часть готова. Теперь ко всему этому добавляем перенос строки и оставшуюся часть. Перенос строки вставляем кодом chr (13).

После этого небольшой финт ушами: берем правую часть строки до первого пробела, для этого из длины строки вычитаем место первого пробела. upper (left ([Фамилия,имя, отчество_(полностью)], POS ([Фамилия,имя, отчество_(полностью)], " ",2)))& chr(13) & right ([Фамилия,имя, отчество_(полностью)], len ([Фамилия,имя, отчество_(полностью)])-POS ([Фамилия,имя, отчество_(полностью)], " ",2)).

Вот такая ботва. Теперь осталось сделать с заглавной буквы имя и отчество.

Вот и все дела. Все очень просто, правда нихрена не понятно конечно. Но зато результат очень красивый и главное как раз что нужно.

Удачной работы! Да, кстати все файлы можно скачать по ссылке.

Google

Разработка сайта -  sprohanov.ru