Автор оригинала: Cristian Rosu.
1. Обзор
В этом уроке мы узнаем, как создавать PDF-файлы, используя Thymeleaf в качестве движка шаблонов, на быстром и практическом примере.
2. Зависимости Maven
Во-первых, давайте добавим наш Тимелиаф зависимость:
org.thymeleaf thymeleaf 3.0.11.RELEASE
Thymeleaf сам по себе является всего лишь шаблоном, и он не может самостоятельно создавать PDF-файлы. Для этой цели мы собираемся добавить летающая тарелка-pdf к нашим к нашим :
org.xhtmlrenderer flying-saucer-pdf 9.1.20
3. Создание PDF-файлов
Далее давайте создадим простой HTML – шаблон Thymeleaf – thymeleaf_template.html :
А затем мы создадим простую функцию – parseThymeleafTemplate – которая проанализирует наш шаблон и вернет HTML Строку :
private String parseThymeleafTemplate() {
ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode(TemplateMode.HTML);
TemplateEngine templateEngine = new TemplateEngine();
templateEngine.setTemplateResolver(templateResolver);
Context context = new Context();
context.setVariable("to", "Baeldung");
return templateEngine.process("thymeleaf_template", context);
}Наконец, давайте реализуем простую функцию, которая получает ранее сгенерированный HTML в качестве входных данных и записывает PDF-файл в нашу домашнюю папку:
public void generatePdfFromHtml(String html) {
String outputFolder = System.getProperty("user.home") + File.separator + "thymeleaf.pdf";
OutputStream outputStream = new FileOutputStream(outputFolder);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocumentFromString(html);
renderer.layout();
renderer.createPDF(outputStream);
outputStream.close();
}После запуска нашего кода мы заметим файл с именем thymeleaf.pdf в домашнем каталоге нашего пользователя, который выглядит следующим образом:
Как мы видим, текст зеленый и выровнен по центру, как определено в нашем встроенном CSS. Это чрезвычайно мощный инструмент для настройки ваших PDF-файлов.
Мы должны иметь в виду, что Thymeleaf полностью отделен от Летающей тарелки, а это означает, что мы можем использовать любой другой механизм шаблонов для создания PDF-файлов, таких как Apache FreeMarker .
4. Заключение
В этом кратком руководстве мы узнали, как легко создавать PDF-файлы, используя Thymeleaf в качестве движка шаблонов.
Как всегда, код доступен на GitHub .