将 Drawable 传递给 iTextPdf 而不是 Image - Android
Pass Drawable to iTextPdf instead of an Image - Android
我正在使用 iTextPdf 创建签到应用程序。我已经使用图像对象添加了图像:
imagePath = "/sdcard/Mugshot.jpg";
Image image = Image.getInstance(imagePath);
image.setAbsolutePosition(165f, 465f);
image.scaleToFit(290f,290f);
document.add(image);
我希望在添加任何内容之前以相同的方式添加图像,因为我希望任何后续内容都会覆盖现有内容。
根据 API Documentation of iTextPdf 你也可以使用 byte[] array
构造
将可绘制对象转换为 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();
然后
Image image = Image.getInstance(bitmapData);
我正在使用 iTextPdf 创建签到应用程序。我已经使用图像对象添加了图像:
imagePath = "/sdcard/Mugshot.jpg";
Image image = Image.getInstance(imagePath);
image.setAbsolutePosition(165f, 465f);
image.scaleToFit(290f,290f);
document.add(image);
我希望在添加任何内容之前以相同的方式添加图像,因为我希望任何后续内容都会覆盖现有内容。
根据 API Documentation of iTextPdf 你也可以使用 byte[] array
构造将可绘制对象转换为 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();
然后
Image image = Image.getInstance(bitmapData);