2017-06-30 1 views
0

Ich habe ein Problem beim Einfügen eines Bildes in ein PDF-Dokument, das mit Itext7 erstellt wurde. Das Bild wird als Byte [] in meinem DB gespeichert, und es kann beschädigte Bytes haben oder das falsche Format haben. Das ist mein Eintrag:Fehler beim Hinzufügen eines beschädigten oder falschen Bildtyps zu einer PDF-Datei

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

Manchmal habe ich die folgenden Fehler:

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) 

Wie kann ich sicher sein, das Problem zu vermeiden, kann ich einige throwable fangen? Danke

+2

Was hält Sie davon ab, die 'com.itextpdf.io.IOException' abzufangen? –

Antwort

0

Wie Bruno Lowagie vorgeschlagen hat, war es ziemlich einfach und offensichtlich, die Ausnahme zu fangen und das Problem zu lösen. Danke vielmals.

Verwandte Themen