Autore Topic: Problemi nella creazione di un Pdf [RISOLTO]  (Letto 1037 volte)

Offline ordinho4

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    ubuntu 10.10
Problemi nella creazione di un Pdf [RISOLTO]
« il: 11 Giugno 2011, 11:09:03 CEST »
0
Salve, ho già partecipato ad alcune discussioni sulla creazione dei Pdf ma non ho ancora risolto purtroppo.
Ho seguito il tutorial di Itext che fornisce un esempio di Hello World per creare un primo semplice pdf: iText in Action: example part1.chapter01.HelloWorld.
Però quando la mia applicazione crea il pdf viene generata un'eccezione.
Riporto il codice:

Codice (Java): [Seleziona]
package it.whistle.vista;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Environment;
import android.widget.Toast;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.codec.Base64.OutputStream;


public class ActivityRefertazionePdf extends Activity {

    public static final String RESULT
    = "it/whistel/vista/hello.pdf";

       
@Override
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.main);
        try {
                this.createPdf(RESULT);
        } catch(Exception e) {
                System.out.println("Errore salvataggio pdf" + e);
        }
}

public void createPdf(String filename)
throws DocumentException, IOException {
    // step 1
    Document document = new Document();
    // step 2
    PdfWriter.getInstance(document, new FileOutputStream(filename));
    // step 3
    document.open();
    // step 4
    document.add(new Paragraph("Hello World!"));
    // step 5
    document.close();
}
}

Genera sempre delle eccezioni. In questo caso dice:
Errore salvataggio pdfjava.io.FileNotFoundException: /it/whistel/vista/hello.pdf (No such file or directory)

Se metto     public static final String RESULT= "hello.pdf" mi dice:
Errore salvataggio pdfjava.io.FileNotFoundException: /hello.pdf (Read-only file system)

Leggendo vari post ho anche inserito nel mio file manifest questo codice per abilitare la scrittura su scheda esterna se non sbaglio:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Spero qualcuno possa darmi un suggerimento non riesco proprio a crearlo. Grazie in anticipo.

« Ultima modifica: 12 Giugno 2011, 14:35:34 CEST da ordinho4 »

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Problemi nella creazione di un Pdf
« Risposta #1 il: 11 Giugno 2011, 18:25:17 CEST »
0
devi ottenere il path della memoria esterna con:
String path = getExternalStorageDirectory().getAbsolutePath();
poi fai
this.createPdf(path+RESULT);
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline ordinho4

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    ubuntu 10.10
Re:Problemi nella creazione di un Pdf
« Risposta #2 il: 11 Giugno 2011, 18:45:22 CEST »
0
Grazie mille per la risposta! Putroppo ho provato ma da lo stesso errore! Cambia però effettivamente il percorso ma le eccezioni restano le stesse..il path assoluto è:/mnt/sdcard, però se ad esempio pongo RESULT="hello.pdf" mi dice: Errore salvataggio pdfjava.io.FileNotFoundException: /mnt/sdcardhello.pdf (Read-only file system), (No such file or directory) se metto un percorso. Ma forse non ho delle autorizzazioni?


Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Problemi nella creazione di un Pdf
« Risposta #3 il: 11 Giugno 2011, 23:21:19 CEST »
0
il file deve essere "/hello.pdf"
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline ordinho4

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    ubuntu 10.10
Re:Problemi nella creazione di un Pdf
« Risposta #4 il: 12 Giugno 2011, 14:30:53 CEST »
0
Grazie, ora non da errore. Però scusa la mia ignoranza, ma dove viene creato il file pdf? Nel senso che il path dove viene salvato è e:/mnt/sdcard/hello.pdf, ma per visualizzarlo dove devo andare? Uso l'emulatore 2.3, va cercato all'interno dell'emulatore o sullo spazio del mio pc?

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Problemi nella creazione di un Pdf
« Risposta #5 il: 12 Giugno 2011, 14:32:36 CEST »
0
il file viene messo sulla sdcard dell'emulatore. Quindi o installi un file explorer sull'emulatore (se vuoi visualizzare il file li) oppure apri il File Explorer del DDMS in eclipse e cerchi il file da li, andando in sdcard/ e trovando il file
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline ordinho4

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    ubuntu 10.10
Re:Problemi nella creazione di un Pdf
« Risposta #6 il: 12 Giugno 2011, 14:35:18 CEST »
0
Grazie mille.. mannaggia era così vicina la risposta!!Grazie davvero finalmente ho risolto! Siete mitici in questo forum!