2017-06-09 2 views
1

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.

+0

Dies kann https://stackoverflow.com/questions/14811618/add-image-to-a-pdf-using-itext helfen –

Antwort

1

Verwenden Sie import com.itextpdf.text.Image; und entfernen Sie das Standard Android-Gerät.