/
NikolayIvkin
/
tutorials1
Обзор
Документация
Войти
/
NikolayIvkin
/
tutorials1
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
text-processing-libraries-modules/pdf/src/main/java/com/baeldung/pdfthymeleaf/PDFThymeleafExample.java
48 строк
2 KB
anuragkumawat
JAVA-29281 Create new module Text Processing Libraries Modules (#15479)
31 дек 2023, 19:37
31 дек 2023, 19:37
76bde3f
Код
Авторство
О чём код?
package com.baeldung.pdfthymeleaf; import com.lowagie.text.DocumentException; import org.thymeleaf.TemplateEngine; import org.thymeleaf.context.Context; import org.thymeleaf.templatemode.TemplateMode; import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver; import org.xhtmlrenderer.pdf.ITextRenderer; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; public class PDFThymeleafExample { public static void main(String[] args) throws IOException, DocumentException { PDFThymeleafExample thymeleaf2Pdf = new PDFThymeleafExample(); String html = thymeleaf2Pdf.parseThymeleafTemplate(); thymeleaf2Pdf.generatePdfFromHtml(html); } public void generatePdfFromHtml(String html) throws IOException, DocumentException { 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(); } 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.com"); return templateEngine.process("thymeleaf_template", context); } }