Java PDF框PNG图像不支持

Java PDF框PNG图像不支持,java,png,pdfbox,Java,Png,Pdfbox,我正在使用PDF框创建PDF,我正在尝试将图像打印成PDF,它可以使用除PNG以外的所有格式。代码如下: String image = "c:/image.png"; PDXObjectImage ximage = null; if( image.toLowerCase().endsWith( ".jpg" ) ) {

我正在使用PDF框创建PDF,我正在尝试将图像打印成PDF,它可以使用除PNG以外的所有格式。代码如下:

String image = "c:/image.png";                  
                                   PDXObjectImage ximage = null;
                  if( image.toLowerCase().endsWith( ".jpg" ) )
                  {
                      ximage = new PDJpeg(doc, new FileInputStream( image ) );
                  }
                  else if (image.toLowerCase().endsWith(".tif") || image.toLowerCase().endsWith(".tiff"))
                 {
                      ximage = new PDCcitt(doc, new RandomAccessFile(new File(image),"r"));
                 }
                 else
                  {
                      BufferedImage awtImage = ImageIO.read( new File( image ) );
                      ximage = new PDPixelMap(doc, awtImage);
                      throw new IOException( "Image type not supported:" + image );
                  }

                 PDPageContentStream contentStream = new PDPageContentStream(doc, page);
                  contentStream.drawImage( ximage, 20, 20 );
当我给出png图像时,它将:

else
                      {
                          BufferedImage awtImage = ImageIO.read( new File( image ) );
                          ximage = new PDPixelMap(doc, awtImage);
                          //throw new IOException( "Image type not supported:" + image );
                      }

并显示图像流IO异常无法读取图像文件。我需要做什么改变才能接受png图像?请帮助…

因为以.png结尾的文件名会转到else块,而else块总是抛出新的IOException图像类型不受支持:+Image;作为第三条语句,我不知道为什么在它前面有两条语句,如果每次都要抛出一个异常,那么我忘了删除它,现在删除了@Erwin Bolwidt showing image stream IO exception cant read image file!!有没有详细的消息说明它为什么无法读取图像文件?@ErwinBolwidt它的工作感谢guyss的帮助!!
String image = "c:/"+rst.getString(8);                  
                                               PDXObjectImage ximage = null;
                                if( image.toLowerCase().endsWith( ".jpg" ) )
                                {
                                    ximage = new PDJpeg(doc, new FileInputStream( image ) );
                                }
                                else if (image.toLowerCase().endsWith(".tif") || image.toLowerCase().endsWith(".tiff"))
                               {
                                    ximage = new PDCcitt(doc, new RandomAccessFile(new File(image),"r"));
                               }
                               else
                                {
                                    BufferedImage awtImage = ImageIO.read( new File( image ) );
                                    ximage = new PDPixelMap(doc, awtImage);

                                }


                               contentStream.drawXObject(ximage, 20, pageYaxis-120, 80, 80);
                                                pageYaxis = pageYaxis-56;