none
Conversion automatique de tout fichier texte(toutes extension) en .txt avec integrite du contenu RRS feed

  • Question

  • Bonjour et tres bonne Annee 2011

    mon but est de creer un programme pour tirer des statistiques sur les

    caracteres alpha numeriques  pour cela j envisage d utiliser des fichiers ou

    il y a du texte fichiers pouvant etre de tout format: txt pdf docx wps rtf ...etc

    j ai tente des essais avec diverses extensions mais au lieu d avoir du texte

    j ai tres souvent des ? au lieu de lettres ou de chiffres

    comment convertir un fichier avec du texte de n importe quelle extension

    en un simple fichier txt avec integrite du contenu litteral

    de maniere à pouvoir lire les caracteres alpha numeriques et les espaces

    pour creer un programme qui tirera les frequences statistiques de ces caracteres  et les enregistrera dans un fichier de sortie

    y a t il une instruction en C#  ou autre  pou creer une conversion de tout type de fichier acvec du texte en .txt

    merci à toute reponse et mes meilleurs voeux 2011

    jp

    dimanche 16 janvier 2011 13:31

Réponses

  • Bonjour,

     

    La structure interne des fichiers de type docx, pdf etc. est différente. Contrairement aux fichiers texte .txt, qui contiennent seulement de texte, les fichiers docx et pdf contiennent des structures spécifiques pour représenter les données.

     

    Par exemple, voici les spécifications de format pour les fichiers pdf :

    http://ressources.mediabox.fr/tutoriaux/pao/construction_fichier_pdf

    http://help.adobe.com/fr_FR/Acrobat/8.0/Professional/help.html?content=WS561DA35A-C1C6-4493-AE1D-80C46C2C571A.html

     

    Une solution plus facile est d’utiliser copier/coller de façon programmatique pour récupérer le texte d’un document et l’amener dans un contrôle TextBox. Ce type de contrôle contient seulement du texte, donc vous pouvez le manipuler facilement. Voici un exemple pour copier le contenu d’un document word ouvert et le coller dans un TextBox :

     

      [DllImport("user32.dll", EntryPoint = "FindWindow")]

            private static extern IntPtr FindWindow(string lp1, string lp2);

     

            [DllImport("user32.dll", ExactSpelling = true, CharSet = CharSet.Auto)]

            [return: MarshalAs(UnmanagedType.Bool)]

            private static extern bool SetForegroundWindow(IntPtr hWnd);

     

            private void button1_Click(object sender, EventArgs e)

            {

               

                IntPtr handle = FindWindow("OpusApp", "Document1 - Microsoft Word");

                if (!handle.Equals(IntPtr.Zero))

                {

                   

                    if (SetForegroundWindow(handle))

                    {

                       

                        SendKeys.Send("^a");

                       

                        SendKeys.Send("^c");

                       

                        this.textBox1.Text = Clipboard.GetText();

                    }

                }

            }

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    • Marqué comme réponse Alex Petrescu jeudi 20 janvier 2011 09:37
    mardi 18 janvier 2011 12:00

Toutes les réponses

  • Bonjour,

    Il n'existe pas de fonctionnalité dans le .NET Framework permettant de convertir un fichier en un autre format. Cela est très complexe et nécessite l'installation de plusieurs applications.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    dimanche 16 janvier 2011 21:35
    Modérateur
  • Bonjour,

     

    La structure interne des fichiers de type docx, pdf etc. est différente. Contrairement aux fichiers texte .txt, qui contiennent seulement de texte, les fichiers docx et pdf contiennent des structures spécifiques pour représenter les données.

     

    Par exemple, voici les spécifications de format pour les fichiers pdf :

    http://ressources.mediabox.fr/tutoriaux/pao/construction_fichier_pdf

    http://help.adobe.com/fr_FR/Acrobat/8.0/Professional/help.html?content=WS561DA35A-C1C6-4493-AE1D-80C46C2C571A.html

     

    Une solution plus facile est d’utiliser copier/coller de façon programmatique pour récupérer le texte d’un document et l’amener dans un contrôle TextBox. Ce type de contrôle contient seulement du texte, donc vous pouvez le manipuler facilement. Voici un exemple pour copier le contenu d’un document word ouvert et le coller dans un TextBox :

     

      [DllImport("user32.dll", EntryPoint = "FindWindow")]

            private static extern IntPtr FindWindow(string lp1, string lp2);

     

            [DllImport("user32.dll", ExactSpelling = true, CharSet = CharSet.Auto)]

            [return: MarshalAs(UnmanagedType.Bool)]

            private static extern bool SetForegroundWindow(IntPtr hWnd);

     

            private void button1_Click(object sender, EventArgs e)

            {

               

                IntPtr handle = FindWindow("OpusApp", "Document1 - Microsoft Word");

                if (!handle.Equals(IntPtr.Zero))

                {

                   

                    if (SetForegroundWindow(handle))

                    {

                       

                        SendKeys.Send("^a");

                       

                        SendKeys.Send("^c");

                       

                        this.textBox1.Text = Clipboard.GetText();

                    }

                }

            }

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    • Marqué comme réponse Alex Petrescu jeudi 20 janvier 2011 09:37
    mardi 18 janvier 2011 12:00