Here is the code I am using to generate a PDF using "Flying Saucer". I downloaded the jar from https://mvnrepository.com/artifact/org.xhtmlrenderer/flying-saucer-pdf-itext5/9.0.1 and included it in the maven pom file, but it does not work. To test, I downloaded the jar manually and added it to intellij IDE as an external library, but it still does not work. The following error appears
Exception in thread "main" java.lang.NoClassDefFoundError: org/xhtmlrenderer/extend/UserAgentCallback at PDFGen.main(PDFGen.java:14) Caused by: java.lang.ClassNotFoundException: org.xhtmlrenderer.extend.UserAgentCallback at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 1 more
import org.xhtmlrenderer.pdf.ITextRenderer;
import java.io.FileOutputStream;
public class PDFGen {
public static void main(String[] args) {
try {
String url = https://en.wikipedia.org/wiki/IPhone";
String pdfFilePath = "output.pdf";
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url);
// Render the HTML to PDF
renderer.layout();
renderer.createPDF(new FileOutputStream(pdfFilePath));
System.out.println("PDF generated successfully.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Maven
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>flying-saucer-pdf-itext5</artifactId>
<version>9.0.1</version>
</dependency>
Can anyone tell me what are dependency that I should use in order to use Flying Saucer(convert HTML to PDF)?