我想将一些 HTML 内容转换为 PDF 文件。我面临的问题是 HTML 内容有一些<img>
带有绝对图像 url 的标签。因此
HTMLWorker.parse()
如果没有网络连接,方法将引发以下异常。
ExceptionConverter: java.net.UnknownHostException: xyz.com
在这种情况下有没有办法避免这种异常并生成没有任何图像的pdf?
我正在使用 iText-5.0.5 库。
你应该实现你的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);