将损坏或错误的类型图像添加到pdf时出错

时间:2017-06-30 09:17:17

标签: java image pdf itext

将图像插入使用Itext7创建的PDF文档时出现问题。图像作为byte []存储在我的数据库中,它可能有损坏的字节或格式错误。 这是我的名单:

Image imageLeft;
byte[] logo = a.getLogo();
if (logo == null) {
String logoPath = this.getClass().getResource("/com/lgs/bl/resource/bl-nologo.png").getPath();
imageLeft = new Image(ImageDataFactory.create(logoPath, true));
imageLeft.setFixedPosition(60, 730);
imageLeft.scaleToFit(250, 140);
try (Document document = new Document(pdfDoc)) {
   document.add(imageLeft);
...
}

有时我会遇到以下错误:

com.itextpdf.io.IOException: Image format cannot be recognized.
at com.itextpdf.io.image.ImageDataFactory.createImageInstance(ImageDataFactory.java:484) 
at com.itextpdf.io.image.ImageDataFactory.create(ImageDataFactory.java:76)
at com.lgs.bl.web.invoices.pdf.InvoicePdfCreate.fillFieldsDoppio(InvoicePdfCreate.java:376) 

我怎样才能确保避免这个问题,我能抓到一些扔掉的东西吗?感谢

1 个答案:

答案 0 :(得分:0)

正如Bruno Lowagie所说,抓住异常并解决问题非常简单明了。非常感谢。