Jump to content
CoralieRENAUX

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

Share this post


Link to post
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
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.






  • Similar Content

    • By Djey51
      Bonjour,
       
      Je rencontre un problème avec l'application Garmin Connect sur mon MI 9T pro.
      j'ai une montre Garmin Venu. Le couplage avec le téléphone est ok, je reçois bien les notifications et les synchronisation se font sans problème.
      Mais voilà tout cela fonctionne tant que l'application GArmine Connect est en cours d'exécution... Car dès que je la ferme (l'application) la connecti.on bluetooth entre ma montre et mon téléphone est interrompue. Jene peux donc plus recevoir de notifications. 
      Je vais essayer d'être le plus complet possible :
      Avec cette même montre, sur mon Xpéria, cela fonctionne très bien.
      Sur le Xpéria, quand je quitte l'appli garmin Connect, j'ai une notification "Service Synch. Connect" de l'appli connect qui apparait et qui sert à maintenir la connection entre la montre et le téléphone en tache de fond.
      Sur le mi 9T pro, je n'ai pas cette notif et je perds la connection bluetooth entre le tel et la montre.
      SI je redémarre le Mi, sans ouvrir l'application garmin Connect, j'ai cette notification et la connection s'établie bien entre le tel et la montre.
      Par contre, dès que j'ouvre l'appli garmin connect puis que je la referme, alors je perds cette connection.
      J'ai déjà regardé toutes les autorisations, les autorisation spéciales (autoriser pop-up), ativé la localisation, désactivé les options de restriction pour économie de batterie, installé, désinstallé l'appli sur mon tél, découplé et recouplé la montre et le tel,fouiné dans beaucoup de forum. mais rien n'y fait.
       
      SVP !!! Auriez-vous une idée ? ou encore mieux, sauriez-vous d'ou vient le problème et ce qu'il faut faire pour y remédier ?
       
      Merci d'avance pour votre soutien
      Cordialement,
    • By SnyL
      Bonjour, j'ai un souci récurrent sur toutes les applications quand je dois utiliser des images, sur l'exemple c'est l'application
       
      PSX photos express
       
      Mais ça le fait partout sur klwp aussi, les images supprimer laisse leurs vignettes, ce qui fait un lien brisé puisse quelle n'existe plus.
       
      J'ai déjà réinitialiser mon MI9T.
       
      Si vous pensez avoir une solution je vous remercie par avance.

    • By jukeLive
      Microsoft Office pour Android qui a été annoncé gratuit et qui est toujours considéré comme tel sur pas mal de sites est il toujours vraiment gratuit ?
      J'utilise le Pack Office Microsoft pour Android  sur:
      un smartphone LG sous android 5,
      sur une tablette Sony sous Android 6
      et sur un smartphone Xiaomi sous Android 10.
      Tout se passe bien, je peux créer et /ou modifier des documents ( sous Word par exemple )
       
      J'ai acheté une tablette Samsung Galaxy S5e sous Android 10 et là le problème est que lorsque j'accède à Word, j'ai un message qui me dit que pour modifier ou enregistre je dois acheter Office 365.
       
      Y at-il un comportement nouveau ? une nouvelle stratégie de Microsoft ?  ou une option ou un paramètre qui ne conviendrait pas sur la tablette Samsung ?
       
    • By gill59
      Bonjour
       
      J ai le redmi 9 simple pas le note et je cherche a savoir si on a la possibilité d enregistrer les appels téléphoniques.
       
      je vois que dans paramètres si je cherche "enregistrement" il n y a pas "enregistrement d appel", il semble n y avoir qu un "magneto" dans les applis, j ai testé de le lancer avant mon appel mais il doit se mettre en pause et n a pas enregistrer ma voix lors de l appel
       
      Si vous avez une appli a me conseiller
       
      En vous remerciant
       
      Merci
       
×
×
  • Create New...