首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用iText和飞碟将html页面的url转换为pdf?

如何使用iText和飞碟将html页面的url转换为pdf?
EN

Stack Overflow用户
提问于 2010-10-25 19:36:56
回答 1查看 12.6K关注 0票数 5

我刚刚下载了xhtmlrenderer和iText jar文件。我可以用这些罐子做pdf文件。

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

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

另外,当我尝试运行下面的代码时,我得到了错误: stream closed

代码语言:javascript
复制
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();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2011-03-24 20:51:24

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

代码语言:javascript
复制
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”文件夹必须存在于工作区的项目中或运行应用程序的任何位置

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4014149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档