Jump to content

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


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
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...