如何使用itextPdf将字节数组转换为图像并以pdf格式显示

时间:2016-11-16 10:18:50

标签: java pdf itext

如何在itext pdf中将字节数组转换为图像并以pdf格式显示。 这是我正在做的,但我得到nullpointer异常..

    Base64 decoder = new Base64();
    byte[] imageByte = decoder.decode(imageInBase64EncodedString);
        Image image = null;
        try {
            image = Image.getInstance(imageByte);
        } catch (BadElementException e1) {
            e1.printStackTrace();
        } catch (MalformedURLException e1) {
            e1.printStackTrace();
        } catch (IOException e1) {
            e1.printStackTrace();
        }
        try {
            image.scalePercent(15f);  <-----Here i am getting NullPointer Exception
            image.scaleAbsoluteWidth(520f);
            image.setAbsolutePosition(40f,725f);
            document.add(image);
       }catch(Exception e){
            e.printStackTrace();
       }

我不明白为什么即使我传递了字节也没有创建图像。

1 个答案:

答案 0 :(得分:3)

问题很可能是您传入的字符串值,因为您很可能会因为值中的格式错误而遇到异常。

我已经尝试过您的示例,使用来自PasteBin(http://pastebin.com/bfc1E1NV)的BASE64字符串示例,有人可以发帖,并且根据您提供的代码成功运行脚本。

ItextPdf示例

屏幕截图1 enter image description here

屏幕截图2(图片对象不为空) enter image description here

<强> org.apache.commons.codec.binary.Base64Example enter image description here