【问题标题】:How to convert url of html page to pdf in java using iText & flying saucer?java - 如何使用iText和飞碟将html页面的url转换为java中的pdf?
【发布时间】:2010-10-25 11:36:56
【问题描述】:

我刚刚下载了 xhtmlrenderer 和 iText jar 文件。我可以使用这些 jars 制作 pdf 文件。

我真正想要的是: 如果我提供一个有效的 URL(比如“https://xhtmlrenderer.dev.java.net/news.html”)来代替“inputFile”,我需要创建 pdf。飞碟和 iText 可以吗?

如果是,请指导我实现这一目标。

另外,当我尝试运行以下代码时,出现错误:流已关闭

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();
    }
}

【问题讨论】:

  • 您的代码包含com.lowagie。那是 iText 的一个古老版本。请使用com.itextpdfiText。

标签: java flying-saucer html-to-pdf xhtmlrenderer


【解决方案1】:

是的...这可能不起作用,因为所请求的页面不是 xhtml,但这应该可以解决问题:

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();
}
}

未找到您请求的文件时会发生流关闭错误。 'samples' 文件夹必须存在于您工作区的项目中或您运行应用程序的任何位置

【讨论】:

  • 我的 HTML 在文本之间包含“&”。如何处理
  • 我建议你创建一个新问题
猜你喜欢
  • 1970-01-01
  • 2019-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-30
  • 2017-05-27
  • 2019-02-04
  • 2016-06-26
相关资源
最近更新 更多