Details
Description
NullPointerException while reading a gif file before writing it to a pdf file. I am able to write jpg's successfully to the pdf. The code snippet that I use to write to a pdf. Can you please help ?
public void generatePDF() throws IOException,COSVisitorException,FileNotFoundException { PDDocument report_pdf = new PDDocument(); PDPage pdfpage1 = new PDPage(PDPage.PAGE_SIZE_LETTER); PDRectangle text_dimensions = pdfpage1.getMediaBox(); PDXObjectImage pdfImage = null; PDPageContentStream stream = new PDPageContentStream(report_pdf, pdfpage1); stream.setFont(PDType1Font.HELVETICA, 30); stream.beginText(); stream.moveTextPositionByAmount(130,text_dimensions.getHeight()-50); stream.drawString("Hello"); stream.endText(); BufferedImage awtImage = ImageIO.read(new File("/var/tmp/test1.gif")); //pdfImage = new PDJpeg(report_pdf,awtImage); pdfImage = new PDPixelMap(report_pdf, awtImage); stream.drawImage(pdfImage, 60, 120 ); //stream.drawXObject(pdfImage, 150, 400, pdfImage.getWidth()*10, pdfImage.getHeight()*20); stream.close(); report_pdf.addPage(pdfpage1); report_pdf.save(new File("/var/tmp/report.pdf")); }
Throws an error
Exception in thread "main" java.lang.NullPointerException
at org.apache.pdfbox.pdmodel.graphics.xobject.PDXObjectImage.extractAlphaImage(PDXObjectImage.java:499)
at org.apache.pdfbox.pdmodel.graphics.xobject.PDPixelMap.createImageStream(PDPixelMap.java:122)
at org.apache.pdfbox.pdmodel.graphics.xobject.PDPixelMap.<init>(PDPixelMap.java:86)
at org.reports.ReportGenerator.ReportGenerator.generatePDF(ReportGenerator.java:122)