Один из подходов, который требует очень мало программирования, - это преобразование вашего Java-объекта в XML с использованием API привязки Java для XML (JABX), а затем использование apache FOP (XSL-FO) для создания PDF из XML.Преимущество этого подхода заключается в том, что он почти на 100% декларативен, т.е. никакого программирования не требуется, кроме выполнения jabx и apache fop.Если вам нужен инструмент для создания шаблона XSL-FO, посмотрите на J4L FO Designer