Les fichiers PDF sont populaires car ils prennent en charge le texte, les images, les animations, les vidéos et de nombreuses autres annotations. Cependant, le texte est la partie la plus importante de la majorité des documents PDF. Dans cet article, nous allons convertir le fichier PDF en TXT et le fichier TXT au format PDF à l’aide de C# .NET. Cette conversion est pratique dans les situations où vous ne vous préoccupez que du contenu textuel des documents PDF. Passons en revue les rubriques suivantes pour un aperçu des sujets à venir :

Astuce : Vous pourriez être intéressé par un Convertisseur de texte en GIF gratuit qui vous permet de générer des animations à partir de textes.

Convertisseur TXT en PDF ou PDF en TXT

La conversion PDF en TXT ainsi que la conversion de fichiers TXT en PDF sont très utiles lorsque votre principale préoccupation est la chaîne de texte utilisée dans le document. Vous pouvez convertir ces formats de fichiers les uns dans les autres en quelques étapes simples à l’aide de l’API Aspose.PDF for .NET. Étant une API basée sur le framework .NET, elle vous permet de travailler avec C# ainsi qu’avec le langage de programmation VB.NET. Vous pouvez facilement installer l’API dans vos applications .NET en téléchargeant les fichiers DLL à partir de Téléchargements ou via la galerie NuGet.

Après avoir installé l’API avec succès, procédons à la conversion d’un fichier PDF en fichier TXT avec deux approches différentes :

Convertir un fichier PDF en fichier texte sans formatage à l’aide de C# ou VB.NET

Tout d’abord, nous allons convertir le PDF en texte sans aucune routine de formatage. Le contenu du texte sera converti tel quel. Ainsi, le texte de sortie ne suivra aucun formatage à partir du fichier PDF d’entrée. Vous devez suivre les étapes ci-dessous pour convertir PDF en TXT avec une grande efficacité et fiabilité.

  1. Charger le document PDF d’entrée
  2. Initialiser une instance de la classe StringBuilder
  3. Parcourir chaque page du document PDF
  4. Lire du texte en utilisant les modes TextDevice et Raw
  5. Enregistrer le texte de sortie sous forme de fichier TXT

L’extrait de code ci-dessous montre comment convertir un fichier PDF en fichier TXT à l’aide de C# ou VB dans .NET Framework :

// Ouvrir le document
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Chaîne pour contenir le texte extrait
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Créer un périphérique de texte
        TextDevice textDevice = new TextDevice();

        // Définir différentes options
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
        textDevice.ExtractionOptions = options;

        // Convertir la page et enregistrer le texte dans le flux
        textDevice.Process(pdfPage, textStream);

        // Fermer le flux de mémoire
        textStream.Close();

        // Obtenir du texte à partir du flux de mémoire
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Raw.txt";
// Enregistrez le fichier texte
File.WriteAllText(dataDir, builder.ToString());

Convertir un fichier PDF en fichier TXT avec des routines de formatage à l’aide de C# ou VB.NET

Considérons maintenant le cas d’utilisation où vous devez convertir le PDF en texte avec un peu de routines de formatage. Par exemple, les retraits de paragraphe, les tabulations, les styles ou la mise en forme par colonne. Vous pouvez facilement restituer le contenu textuel d’un document PDF dans un fichier TXT avec C# en suivant les étapes ci-dessous :

  1. Charger le fichier PDF source
  2. Initier une variable de chaîne
  3. Lisez chaque page avec TextFormattingMode.Pure
  4. Enregistrer le fichier TXT converti

L’extrait de code suivant montre comment convertir un fichier PDF en fichier TXT avec un formatage à l’aide du langage C# ou VB.NET :

// Ouvrir le document
Document pdfDocument = new Document(dataDir + "MultiColumnPdf.pdf");
StringBuilder builder = new StringBuilder();
// Chaîne pour contenir le texte extrait
string extractedText = "";

foreach (Page pdfPage in pdfDocument.Pages)
{
    using (MemoryStream textStream = new MemoryStream())
    {
        // Créer un périphérique de texte
        TextDevice textDevice = new TextDevice();

        // Définir différentes options
        TextExtractionOptions options = new
        TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
        textDevice.ExtractionOptions = options;

        // Convertir la page et enregistrer le texte dans le flux
        textDevice.Process(pdfPage, textStream);

        // Fermer le flux de mémoire
        textStream.Close();

        // Obtenir du texte à partir du flux de mémoire
        extractedText = Encoding.Unicode.GetString(textStream.ToArray());
    }
    builder.Append(extractedText);
}

dataDir = dataDir + "PDF_to_TXT_Pure.txt";
// Enregistrez le fichier texte
File.WriteAllText(dataDir, builder.ToString());

Comparaison visuelle de la conversion de texte PURE et RAW

La capture d’écran suivante est une comparaison visuelle des deux approches dont nous venons de discuter. Vous pouvez remarquer que le mode Pure (fenêtre la plus à droite) affiche le texte avec les mêmes mises en forme que dans le fichier PDF (fenêtre la plus à gauche).

Convertir PDF TXT csharp

Cette capture d’écran des fichiers d’entrée et de sortie vous permet de décider quelle approche de conversion vous convient le mieux.

Convertir un fichier TXT en PDF par programmation à l’aide de C# ou VB.NET

Les fichiers TXT contiennent souvent d’énormes contenus textuels. Vous pouvez facilement convertir un fichier TXT en fichier PDF avec Aspose.PDF for .NET. Suivez simplement les étapes ci-dessous pour effectuer la conversion de texte en PDF :

  1. Créer une instance de la classe TextReader
  2. Initialiser un document PDF et ajouter une page vierge
  3. Instancier l’objet TextBuilder
  4. Lire chaque ligne de texte à partir du fichier TXT d’entrée
  5. Enregistrer le fichier PDF de sortie

L’extrait de code ci-dessous explique comment convertir par programmation un fichier TXT contenant du texte en un document PDF à l’aide du langage C# ou VB.NET :

// Lire le fichier TXT d'entrée
System.IO.TextReader tr = new StreamReader(dataDir + "Test.txt", Encoding.UTF8, true);

// Initialiser le nouveau document
Document doc = new Document();

// Ajouter une page vierge
Page page = doc.Pages.Add();
String strLine;

// Lancer l'objet TextBuilder
TextBuilder builder = new TextBuilder(page);
double x = 100; double y = 100;
while ((strLine = tr.ReadLine()) != null)
{
 TextFragment text = new TextFragment(strLine);
 text.Position = new Position(x, y);
 if (y >= page.PageInfo.Height - 72)
 {
  y = 100;
  page = doc.Pages.Add();
  builder = new TextBuilder(page);
 }
 else
 {
  y += 15;
 }
 builder.AppendText(text);
}

// Enregistrer le fichier PDF de sortie
doc.Save(dataDir + "TexttoPDF.pdf");
tr.Close();

Conclusion

Dans cet article, nous avons appris et exploré la conversion du texte d’un fichier PDF au format de fichier TXT. De plus, nous avons converti le texte d’un fichier TXT en un document PDF en utilisant C# ou VB dans .NET Framework. Vous pouvez convertir des fichiers PDF et TXT assez efficacement et rapidement. Cependant, si vous avez des préoccupations ou des questions, n’hésitez pas à nous écrire sur Free Support Forum ou à explorer Product Documentation. Nous aimerions avoir de vos nouvelles!

Voir également