将Drawable传递给iTextPdf而不是Image - Android

Anu*_*nde 2 android image itextpdf android-resources

我正在使用iTextPdf创建一个签入应用程序.我已经使用图像对象添加了一个图像:

imagePath = "/sdcard/Mugshot.jpg";
Image image = Image.getInstance(imagePath);
image.setAbsolutePosition(165f, 465f);
image.scaleToFit(290f,290f);
document.add(image);
Run Code Online (Sandbox Code Playgroud)

我希望在添加任何内容之前以相同的方式添加图像,因为我预计任何后续内容都会覆盖现有内容.

Mur*_*ain 5

根据iTextPdfAPI文档,您还可以构造使用byte []数组

将drawable转换为 byte[]

Drawable d = getResources ().getDrawable (R.drawable.your_drawable)
Bitmap bitmap = ((BitmapDrawable)d).getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] bitmapData = stream.toByteArray();
Run Code Online (Sandbox Code Playgroud)

然后

Image image = Image.getInstance(bitmapData);
Run Code Online (Sandbox Code Playgroud)