尝试在iText

时间:2019-07-03 10:20:18

标签: java android nullpointerexception itext

当我按下提交按钮时,图像应显示在PDF页面上。但是在第一次单击时,它显示了异常(尝试获取空数组的长度)。但是,当我第二次按下它时,将显示PDF。为什么它第一次不起作用?我已经使用iTextpdf库创建PDF。

这是我在ImageSaver类中的代码:

public static byte[] getImage(Context context, String imageName)
{
    try {
        File directory = context.getDir(directoryName, Context.MODE_PRIVATE);
        File image = new File(directory, imageName);
        Bitmap b = BitmapFactory.decodeStream(new FileInputStream(image));
        //return BitmapUtils.convertBitmapToByteArrayUncompressed(b);
        return BitmapUtils.convertBitmapToByteArray(b);
    }
    catch (Exception e)
    {
        e.printStackTrace();
        return null;
    }

}

MainActivity中的代码以在PDF页面上显示图像:

byte[] imgd = ImageSaver.getImage(getApplicationContext(), pictureName) ;
        Image imagebuyer = Image.getInstance(imgd);
        imagebuyer.scaleToFit(100, 100);

        PdfPCell cs = new PdfPCell(imagebuyer, true);
        cs.setHorizontalAlignment(Element.ALIGN_CENTER);
        cs.setBorderColor(BaseColor.LIGHT_GRAY);
        cs.setFixedHeight(100);
        tables.addCell(cs);

0 个答案:

没有答案