Иван Денисов писал(а):
Благодаря наличию привязки, которую сделал Роман, удалось сделать генератор дипломов для олимпиады школьников.
На входе - документ Excel с данными об участниках и победителях, а на выходе - несколько сотен документов PDF.
Если у кого-то возникнет аналогичная задача, выкладываю пример кода. Для удобства размещения элементов, сделал обертку процедур рисования, которым можно передавать координаты из редактора Inkscape.
Для того, чтобы все работало, нужно наличие подсистем Ctl и Cairo, на компьютере должен быть установлен Excel. Для запуска демонстрационного модуля в системе должны быть шрифты KursivC и HeliosExtLightC.
Интересно, спасибо! Такой материал хорошо бы добавить куда-нибудь в блог, так как используется набор разных инструментов. А если для каждого инструмента добавить свою картинку то, поди, можно и на ХабраХабр выкладывать.
Готовить PDF-ку можно различными способами. Этот способ подразумевает у разработчика, как минимум, наличие дизайнерского вкуса. Таким образом, разработчик программирует набор вызовов библиотеки Cairo для создания конечного документа.
Альтернативный, при более сложной вёрстке, подход PDF создания заключается в
- создании графического макета график-дизайнером (или веб-дизайнером)
- создание шаблона HTML вёрстки с описанными в CSS стилями (веб-дизайнером)
- генерация HTML документа на основе шаблона, куда вставляются текст и другие объекты программным способом
- преобразование HTML вёрстки в PDF при помощи утилиты wkhtmltopdf.
3, 4-й пункты - программно.