Для создания документов с использованием шаблонов и переменных можно использовать библиотеку Apache POI для работы с документами в форматах Microsoft Office (Word, Excel, PowerPoint).
Для генерации документов в формате PDF с переменными и кастомизацией можно использовать библиотеку iText. iText позволяет создавать PDF-файлы, добавлять текст, изображения, таблицы, ссылки, а также кастомизировать документ с помощью различных параметров (цвета, шрифты, колонтитулы и т.д.).
Кроме того, для интеграции iText в собственное приложение можно использовать Java, .NET, Python, PHP и другие популярные языки программирования.
Оба этих OpenSource-решения широко используются для генерации документов с переменными и кастомизацией и имеют отличную документацию, что делает их удобными в использовании.