OberonCore https://forum.oberoncore.ru/ |
|
Cairo binding [Component Pascal] https://forum.oberoncore.ru/viewtopic.php?f=47&t=2289 |
Страница 2 из 2 |
Автор: | Info21 [ Суббота, 24 Май, 2014 21:36 ] |
Заголовок сообщения: | Re: Cairo binding [Component Pascal] |
Круто. |
Автор: | Роман М. [ Воскресенье, 25 Май, 2014 08:43 ] |
Заголовок сообщения: | Re: Cairo binding [Component Pascal] |
Иван Денисов писал(а): Благодаря наличию привязки, которую сделал Роман, удалось сделать генератор дипломов для олимпиады школьников. Интересно, спасибо! Такой материал хорошо бы добавить куда-нибудь в блог, так как используется набор разных инструментов. А если для каждого инструмента добавить свою картинку то, поди, можно и на ХабраХабр выкладывать.На входе - документ Excel с данными об участниках и победителях, а на выходе - несколько сотен документов PDF. Если у кого-то возникнет аналогичная задача, выкладываю пример кода. Для удобства размещения элементов, сделал обертку процедур рисования, которым можно передавать координаты из редактора Inkscape. Для того, чтобы все работало, нужно наличие подсистем Ctl и Cairo, на компьютере должен быть установлен Excel. Для запуска демонстрационного модуля в системе должны быть шрифты KursivC и HeliosExtLightC. Готовить PDF-ку можно различными способами. Этот способ подразумевает у разработчика, как минимум, наличие дизайнерского вкуса. Таким образом, разработчик программирует набор вызовов библиотеки Cairo для создания конечного документа. Альтернативный, при более сложной вёрстке, подход PDF создания заключается в
3, 4-й пункты - программно. |
Автор: | Иван Денисов [ Воскресенье, 25 Май, 2014 08:55 ] |
Заголовок сообщения: | Re: Cairo binding [Component Pascal] |
Тут получается так: от дизайнера — макет в векторе, открываем его в Inkscape, переносим координаты объектов, строки и размеры шрифтов в Блэкбокс. Можно было бы, используя XmlCore, парсить XML структуру формата SVG, но так как элементов не очень много, то решил, что быстрее будет руками переписать. Для Хабра можно, но слабовато, чтобы возиться с публикацией. Есть куча инструментов для создания PDF. Если не фанатеть по Компонентному Паскалю, то можно было бы налету генерировать эти PDF php-скриптом, беря данные участников из подготовленной базы данных. |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |