我正在使用 iTextG 在 Android Studio 中开发应用,您可以在其中填写表单,点击按钮,然后您将收到PDF。在文档的最后,我需要添加一个图像。
按下按钮后,应用程序崩溃,注意" MyApp已停止"。然而它创建了PDF文件,但它是空的,我无法打开它。
这是我的代码(负责创建文档的函数):
Paragraph test = new Paragraph();
test.setAlignment(Element.ALIGN_LEFT);
try {
URL logoJock = new URL("https", "www.imgur.com", "/a/AsunJH7");
test.add(new Jpeg(logoJock));
} catch (Exception e) {
e.notify();
}
所以我检查了用法,添加图片的一种方法是通过网址将其上传到imgur。
document.open();
document.add(data);
document.add(test);
document.close();
我将段落添加到文档中。没有它,我的应用程序正在创建包含我要包含的所有数据的正确文档。唯一的问题是添加图像。
你可以帮我解决这个问题吗?
答案 0 :(得分:1)
问题解决了,
我尝试了这个,我尝试了image.getInstance(path),我尝试了其他可能性,最后这个可行了(我必须将徽标文件移动到资产文件夹中):
document.open();
try {
InputStream ims = getAssets().open("logo.PNG");
Bitmap bmp = BitmapFactory.decodeStream(ims);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
Image image = Image.getInstance(stream.toByteArray());
image.scalePercent(30);
image.setAlignment(Element.ALIGN_LEFT);
document.add(image);
} catch (IOException e) {
e.printStackTrace();
}
document.close()