如何在解析HTML内容以使用iText生成Pdf文件时避免使用java.net.UnknownHostException

时间:2013-01-02 10:52:09

标签: html pdf itext

我想将一些HTML内容转换为PDF文件。我面临的问题是HTML内容有一些带有绝对图片网址的<img>标签。因此

HTMLWorker.parse()
如果没有网络连接,

方法抛出以下异常。

ExceptionConverter: java.net.UnknownHostException: xyz.com

在这种情况下有没有办法避免这种异常并生成没有任何图像的pdf?

我正在使用iText-5.0.5库。

1 个答案:

答案 0 :(得分:0)

您应该实现 ImageProvider ,当检索图像时出现问题时,只返回null,例如

public static class MyImageProvider implements ImageProvider {
    public Image getImage(String src, Map<String, String> h, ChainedProperties cprops, DocListener doc) {
        try {
            return Image.getInstance(IMAGE_URL); //create IMAGE_URL from src parameter
        } catch (IOException e) {
            return null;
        }
    }    
}

然后您应该将HTMLWorker与此提供程序一起使用

 HashMap<String,Object> map = new HashMap<String, Object>();
 map.put(HTMLWorker.IMG_PROVIDER, new MyImageProvider());
 HTMLWorker.parseToList(new FileReader(HTML), null, map);