How to convert url of html page to pdf in java using iText & flying saucer?

旧巷老猫 提交于 2019-12-12 11:12:57

问题


I've just downloaded xhtmlrenderer and iText jar files. I can make pdf files by using these jars.

What I exactly want is: I need to create pdf if I give one valid URL (say "https://xhtmlrenderer.dev.java.net/news.html") in the place of "inputFile". Is it possible with flying saucer and iText?

If yes, please guide me to achieve this.

Also, when I'm trying to run the below code, I'm getting error: stream closed

import java.io.*;
import com.lowagie.text.DocumentException;
import org.xhtmlrenderer.pdf.ITextRenderer;

public class FirstDoc {

    public static void main(String[] args) 
            throws IOException, DocumentException {
        String inputFile = "samples/sql.html";
        String url = new File(inputFile).toURI().toURL().toString();
        String outputFile = "firstdoc.pdf";
        OutputStream os = new FileOutputStream(outputFile);

        ITextRenderer renderer = new ITextRenderer();
        renderer.setDocument(url);
        renderer.layout();
        renderer.createPDF(os);

        os.close();
    }
}

回答1:


Yes... this probably won't work as the page being requested isn't xhtml but this should do the trick:

import java.io.*;
import com.lowagie.text.DocumentException;
import org.xhtmlrenderer.pdf.ITextRenderer;

public class FirstDoc {

public static void main(String[] args) 
        throws IOException, DocumentException {
    String url= "http://xhtmlrenderer.java.net/news.html";

    String outputFile = "firstdoc.pdf";
    OutputStream os = new FileOutputStream(outputFile);

    ITextRenderer renderer = new ITextRenderer();
    renderer.setDocument(url);
    renderer.layout();
    renderer.createPDF(os);

    os.close();
}
}

The stream closed error occurs when the file you're requesting isn't found. The 'samples' folder must exist in the project in your workspace or wherever it is that you're running your application from



来源:https://stackoverflow.com/questions/4014149/how-to-convert-url-of-html-page-to-pdf-in-java-using-itext-flying-saucer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!