Aller au contenu

Android Studio Java Création fichier txt convertie en pdf et envoyer par mail


CoralieRENAUX

Recommended Posts

Bonjour je m'explique un peu mieux j'ai crée une application sur android Studio qui consiste a récupérer des information de l'utilisateur (text, image ) pour ensuite le convertier en pdf et l'envoyer par mail mais quand je transfére le mail la pièce jointe ni est  pas du cous je c'est pas si c'est l'envoi ou le convertisseur ou l'enregistrement dans le fichier  text qui ne fonctionne pas .

Je vous mais les différent code si vous pouvez maider.

code enregistrement en interne : 

mPlayButton6.setOnClickListener(new View.OnClickListener() {

    private String numéro = ("Affaire:" + DA23);
    private String com = ("Commune:" + Commune);
    private String chant = ("Chantier:" + chantier);
    private String prest = ("Prestataire:" + Prestataire);

    private View v;

    @Override
    public void onClick(View v) {
        this.v = v;




        File myFile = new File("/android/data/com.google.android.apps.docs/files/appli_test",INFO); //on déclare notre futur fichier

        File myDir = new File("/android/data/com.google.android.apps.docs/files/appli_test"); //pour créer le repertoire dans lequel on va mettre notre fichier
        Boolean success=true;
        if (!myDir.exists()) {
            success = myDir.mkdir(); //On crée le répertoire (s'il n'existe pas!!)
        }
        if (success){

            String data = numéro + com + chant + prest ;

            FileOutputStream output = null; //le true est pour écrire en fin de fichier, et non l'écraser
            try {
                output = new FileOutputStream(myFile, true);
            }catch (FileNotFoundException e) {
                e.printStackTrace();
            }



            try {
                output.write(data.getBytes());
            }


            catch (IOException e) {
                e.printStackTrace();
            }
        }
        else {Log.e("TEST1","ERROR DE CREATION DE DOSSIER");}


            Intent MainActivityIntent = new Intent(Naffaire.this, PosteAvtivity.class);
        startActivity(MainActivityIntent);

    }



});
Code du convertisseur et de l'envoie :

public static final String TEXT
= "/android/data/com.google.android.apps.docs/files/appli_test/info.txt";
public static final String DEST
= "/android/data/com.google.android.apps.docs/files/appli_test/info.pdf";
 
CréationPdf.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                    File file = new File(DEST);
                    file.getParentFile().mkdirs();
                    try {
                        createPdf(DEST);
                    } catch (DocumentException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }


                Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
                        "mailto", "coralie-renaux@hotmail.com", null));
// Subject
                emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Contrôle CTO");
// Body of email
                emailIntent.putExtra(Intent.EXTRA_TEXT, "Contrôle CTO du poste numéro d'affaire :" + DA23);

                emailIntent.putExtra(Intent.ACTION_SEND, "");
// File attachment
                emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("/android/data/com.google.android.apps.docs/files/appli_test/info.pdf"));


// Check if the device has an email client
                if (emailIntent.resolveActivity(getPackageManager()) != null) {
                    // Prompt the user to select a mail app
                    startActivity(Intent.createChooser(emailIntent, "Choose your mail application"));
                } else {
                    // Inform the user that no email clients are installed or provide an alternative
                }
            }

            public void createPdf(String dest)
                    throws DocumentException, IOException {
                Document document = new Document();
                PdfWriter.getInstance(document, new FileOutputStream(dest));
                document.open();
                BufferedReader br = new BufferedReader(new FileReader(TEXT));
                String line;
                Paragraph p;
                Font normal = new Font(Font.FontFamily.TIMES_ROMAN, 12);
                Font bold = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD);
                boolean title = true;
                while ((line = br.readLine()) != null) {
                    p = new Paragraph(line, title ? bold : normal);
                    p.setAlignment(Element.ALIGN_JUSTIFIED);
                    title = line.isEmpty();
                    document.add(p);
                }
                document.close();
            }

        });



Merci par avance.

Cordialement,

Coralie RENAUX
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...