【问题标题】:How can I import an image to my PDF using itext如何使用 itext 将图像导入 PDF
【发布时间】:2014-10-01 19:39:19
【问题描述】:

我已经创建了表格和一些额外的信息作为 PDF。但是无论我做什么,我都无法将图像导入我的 PDF。我在 assets 文件夹中有 my_thumb.png 文件。

在我的 MainActivity 类中

try {
        inputStream = MainActivity.this.getAssets().open("my_thumb.png");
        Bitmap bmp = BitmapFactory.decodeStream(inputStream);
       ByteArrayOutputStream stream = new ByteArrayOutputStream();
       bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
       model.setThumbStream(stream); 
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

在我的 CreatePDF 类中

Image thumb = Image.getInstance(Model.getThumbStream().toByteArray());
   companyLogo.setAbsolutePosition(document.leftMargin(),121);
 companyLogo.scalePercent(25);

   document.add(thumb); 

问题是

bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);

此行返回 null。

我错过了什么?

提前致谢。

【问题讨论】:

    标签: android image bitmap bytearray itext


    【解决方案1】:

    你先把png变成drawable

    Drawable d = Drawable.createFromStream(getAssets().open("my_thumb.png"), null);
    

    然后将drawable转换为位图并获取字节数组:)

    Bitmap bitmap = ((BitmapDrawable)d).getBitmap();
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
    byte[] bitmapdata = stream.toByteArray();
    

    【讨论】:

    • 仍然返回 null。
    • 我认为你的图片不是 png,是真的吗?
    猜你喜欢
    • 1970-01-01
    • 2013-05-02
    • 2022-01-08
    • 2013-10-15
    • 1970-01-01
    • 2017-12-19
    • 2010-11-16
    • 1970-01-01
    • 2010-12-22
    相关资源
    最近更新 更多