Ich versuche, einen Screenshot meiner Android-Aktivität (Bitmap) zu machen und dann eine PDF-Datei daraus zu machen. Ich habe die itextpdf-Bibliothek verwendet. Hier ist, was ich habe:Android PDF Maker Code Fehler
public void onSaveDataClicked(View reportsLayout){
//take screen shot
Bitmap screen; View v1 = reportsLayout.getRootView();
v1.setDrawingCacheEnabled(true);
screen = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);
try {
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(file));
document.open();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
screen.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
addImage(document,byteArray);
document.close();
}
catch (Exception e){
e.printStackTrace();
}
}
private static void addImage(Document document,byte[] byteArray) {
Image image = null;
try {
image = Image.getInstance(byteArray);
} catch (BadElementException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// image.scaleAbsolute(150f, 150f);
try {
document.add(image);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Wenn ich versuche laufen ich die Fehlermeldungen erhalten: „Das Bild kann nicht zu Element umgewandelt werden“ und „kann nicht Symbol Methode getInstance (byte []) finden“
Viele den Code, den ich online durch ein Tutorial gefunden habe, wie man das erreicht. Ich bin mit dieser Art von Dingen irgendwie nicht vertraut. Jede Hilfe und Ideen würden geschätzt werden.
Dies kann https://stackoverflow.com/questions/14811618/add-image-to-a-pdf-using-itext helfen –