Рубрики
Без рубрики

Создание PDF-Файлов с помощью Thymeleaf

Узнайте, как создавать PDF-файлы с помощью Thymeleaf.

Автор оригинала: 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 .