How to protect pdf report with password using thymeleaf as template engine and flying-saucer as rendrer
Asked Answered
C

1

6

PDF is generating successfully but I want to protect it with a password. flying-saucer-pdf doc does not help me. I am using this example Using thymeleaf+flying-saucer-pdf+Spring Boot

Collenecollet answered 3/9, 2017 at 14:7 Comment(2)
First of all thanks for referencing PDF creation from my blog. To set password in PDF you will need to use PDFEncryption class of flying saucerFylfot
Protecting a pdf using password has nothing to do with spring or thymeleaf. Removing those tags.Hosea
F
14

To set password in PDF with Flying Saucer PDF Creator use PDFEncryption class. To set password to your PDF, First create an instance of PDFEncryption and then use its method setUserPassword() like this:

final File outputFile = File.createTempFile(fileName, ".pdf");
FileOutputStream os = new FileOutputStream(outputFile);
PDFEncryption pdfEncryption  = new PDFEncryption();
String password= "password@123";
pdfEncryption.setUserPassword(password.getBytes());
ITextRenderer renderer = new ITextRenderer();
renderer.setPDFEncryption(pdfEncryption);
renderer.setDocumentFromString(htmlContent);
renderer.layout();
renderer.createPDF(os, false);
renderer.finishPDF();
Fylfot answered 3/9, 2017 at 14:35 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.