Create a PDF file from HTML specified via URL using Flying Saucer

307 views Asked by At

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)?

0

There are 0 answers