Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Extraire des données d'un fichier PDF est un véritable défi en C#. Les données peuvent se présenter sous la forme de textes, d'images, de diagrammes, de graphiques, de tableaux, etc. Parfois, les analystes commerciaux doivent extraire des données pour les analyser et prendre des décisions sur la base de ces résultats. La bibliothèque PDF IronPDF C# est une solution idéale pour extraire des données de fichiers PDF.
Cet article explique comment extraire des données de tableaux de documents PDF en C# à l'aide de la bibliothèque IronPDF.
RenderHtmlAsPdf
pour générer un document PDF à partir d'une chaîne de caractères HTMLExtractAllText
pour lire les données d'un tableau à partir d'un PDFIronPDF est une bibliothèque C# .NETce logiciel permet aux développeurs de lire, de créer et d'éditer facilement des documents PDF dans leurs applications logicielles. Son moteur Chromium rend les documents PDF avec précision et rapidité. Il permet aux développeurs de convertir des formats différents en PDF et vice versa de manière transparente. Il prend en charge le dernier Framework .NET 7, ainsi que les Framework .NET 6, 5, 4, .NET Core et Standard.
En outre, l'API IronPDF .NET permet aux développeurs de manipuler et de modifier les PDF, d'ajouter des en-têtes et des pieds de page et d'extraire facilement du texte, des images et des tableaux à partir des PDF.
Pour extraire les données des tableaux des documents PDF, les composants suivants doivent être installés sur le système informatique local :
Visual Studio - Visual Studio 2022 est l'IDE officiel pour le développement C# et doit être installé sur l'ordinateur. Veuillez le télécharger et l'installer à partir du site Site web de Visual Studio.
Créer un projet - Créer une application console pour extraire des données. Suivez les étapes ci-dessous pour créer un projet :
Ouvrez Visual Studio 2022 et cliquez sur le bouton Créer un nouveau projet
**L'écran de démarrage de Visual Studio**
Ensuite, sélectionnez l'application console C# et cliquez sur suivant
**Créer une nouvelle application console dans Visual Studio**
Ensuite, tapez le nom de votre projet "ReadPDFTable " et cliquez sur suivant
**Configurer l'application nouvellement créée**
Choisissez " .NET Framework 6 long-term support " pour votre projet.
**Sélectionner un Framework .NET**
Installation d'IronPDF - Il existe 3 méthodes différentes pour installer la bibliothèque IronPDF. Elles sont les suivantes :
Utilisation de Visual Studio. Visual Studio contient le gestionnaire de paquets NuGet qui permet d'installer tous les paquets NuGet dans les applications C#.
Cliquez sur Outils dans le menu supérieur, ou
Cliquez avec le bouton droit de la souris sur le projet dans l'explorateur de solutions
**Outils et gestion des paquets NuGet**
Une fois que le gestionnaire de paquets NuGet est ouvert, recherchez IronPDF et cliquez sur installer, comme indiqué ci-dessous :
**Outils et gestion des paquets NuGet**
**Une autre façon de télécharger et d'installer IronPDF est de visiter sa page sur le site Web de la Commission européenne Site web de NuGet.
Avant de créer quoi que ce soit, il faut ajouter l'espace de noms IronPDF dans le fichier et définir la clé de licence pour utiliser les méthodes ExtractText
de la bibliothèque IronPDF.
using IronPdf;
License.LicenseKey = "YOUR-TRIAL/PURCHASED-LICENSE-KEY";
using IronPdf;
License.LicenseKey = "YOUR-TRIAL/PURCHASED-LICENSE-KEY";
Imports IronPdf
License.LicenseKey = "YOUR-TRIAL/PURCHASED-LICENSE-KEY"
Ici, un document PDF sera créé à partir d'une chaîne HTML contenant un tableau, puis ces données seront extraites à l'aide d'IronPDF. Le code HTML est stocké dans une variable de type chaîne, et le code est le suivant :
string HTML = "<html>" +
"<style>" +
"table, th, td {" +
"border:1px solid black;" +
"}" +
"</style>" +
"<body>" +
"<h1>A Simple table example</h2>" +
"<table>" +
"<tr>" +
"<th>Company</th>" +
"<th>Contact</th>" +
"<th>Country</th>" +
"</tr>" +
"<tr>" +
"<td>Alfreds Futterkiste</td>" +
"<td>Maria Anders</td>" +
"<td>Germany</td>" +
"</tr>" +
"<tr>" +
"<td>Centro comercial Moctezuma</td>" +
"<td>Francisco Chang</td>" +
"<td>Mexico</td>" +
"</tr>" +
"</table>" +
"<p>To understand the example better, we have added borders to the table.</p>" +
"</body>" +
"</html>";
string HTML = "<html>" +
"<style>" +
"table, th, td {" +
"border:1px solid black;" +
"}" +
"</style>" +
"<body>" +
"<h1>A Simple table example</h2>" +
"<table>" +
"<tr>" +
"<th>Company</th>" +
"<th>Contact</th>" +
"<th>Country</th>" +
"</tr>" +
"<tr>" +
"<td>Alfreds Futterkiste</td>" +
"<td>Maria Anders</td>" +
"<td>Germany</td>" +
"</tr>" +
"<tr>" +
"<td>Centro comercial Moctezuma</td>" +
"<td>Francisco Chang</td>" +
"<td>Mexico</td>" +
"</tr>" +
"</table>" +
"<p>To understand the example better, we have added borders to the table.</p>" +
"</body>" +
"</html>";
Dim HTML As String = "<html>" & "<style>" & "table, th, td {" & "border:1px solid black;" & "}" & "</style>" & "<body>" & "<h1>A Simple table example</h2>" & "<table>" & "<tr>" & "<th>Company</th>" & "<th>Contact</th>" & "<th>Country</th>" & "</tr>" & "<tr>" & "<td>Alfreds Futterkiste</td>" & "<td>Maria Anders</td>" & "<td>Germany</td>" & "</tr>" & "<tr>" & "<td>Centro comercial Moctezuma</td>" & "<td>Francisco Chang</td>" & "<td>Mexico</td>" & "</tr>" & "</table>" & "<p>To understand the example better, we have added borders to the table.</p>" & "</body>" & "</html>"
Ensuite, le ChromePdfRenderer
est utilisé pour créer un PDF à partir d'une chaîne HTML. Le code est le suivant :
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdfDocument = renderer.RenderHtmlAsPdf(HTML);
pdfDocument.SaveAs("table_example.pdf");
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdfDocument = renderer.RenderHtmlAsPdf(HTML);
pdfDocument.SaveAs("table_example.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdfDocument As PdfDocument = renderer.RenderHtmlAsPdf(HTML)
pdfDocument.SaveAs("table_example.pdf")
Les SaveAs
enregistrera la méthode PdfDocument
vers un fichier PDF nommé "table_example.pdf ". Le fichier enregistré est présenté ci-dessous :
Recherchez IronPDF dans l'interface utilisateur du gestionnaire de paquets NuGet
Pour extraire des données de tableaux PDF, ouvrez le document en utilisant l'objet PdfDocument
, puis utilisez la fonction ExtraireToutTexte
pour récupérer les données en vue d'une analyse plus approfondie. Le code suivant montre comment réaliser cette tâche :
PdfDocument pdfDocument = new PdfDocument("table_example.pdf");
string text = pdfDocument.ExtractAllText();
PdfDocument pdfDocument = new PdfDocument("table_example.pdf");
string text = pdfDocument.ExtractAllText();
Dim pdfDocument As New PdfDocument("table_example.pdf")
Dim text As String = pdfDocument.ExtractAllText()
Le code ci-dessus analyse l'ensemble du document PDF à l'aide de la méthode ExtractAllText
et renvoie les données extraites, y compris les données tabulaires, dans une variable de type chaîne. La valeur de la variable peut alors être affichée ou stockée dans un fichier pour une utilisation ultérieure. Le code suivant l'affiche à l'écran :
Console.WriteLine("The extracted Text is:\n" + text);
Console.WriteLine("The extracted Text is:\n" + text);
Imports Microsoft.VisualBasic
Console.WriteLine("The extracted Text is:" & vbLf & text)
Le fichier PDF à extraire du texte
C# fournit une méthode String.Split
qui permet de diviser la chaîne en fonction d'un délimiteur. Le code suivant vous aidera à limiter la sortie aux seules données du tableau.
string [] textList = text.Split("\n");
foreach (string textItem in textList)
{
if (textItem.Contains("."))
{
continue;
}
else
{
Console.WriteLine(textItem);
}
}
string [] textList = text.Split("\n");
foreach (string textItem in textList)
{
if (textItem.Contains("."))
{
continue;
}
else
{
Console.WriteLine(textItem);
}
}
Imports Microsoft.VisualBasic
Dim textList() As String = text.Split(vbLf)
For Each textItem As String In textList
If textItem.Contains(".") Then
Continue For
Else
Console.WriteLine(textItem)
End If
Next textItem
Cet exemple de code simple permet d'extraire uniquement les données des cellules d'un tableau à partir du texte extrait. Tout d'abord, les lignes de texte sont découpées et enregistrées dans un tableau de chaînes de caractères. Ensuite, chaque élément du tableau est itéré et ceux qui ont un point "." à la fin sont ignorés. Dans la plupart des cas, seules les données tabulaires sont extraites des données extraites, bien que d'autres lignes puissent également être extraites. Le résultat est le suivant :
La console affiche les textes extraits
La capture d'écran ci-dessus montre que le formatage des données du tableau et la structure logique sont préservés dans la sortie de la méthode Console.WriteLine
. Vous trouverez plus de détails sur la manière d'extraire des données de documents PDF à l'aide d'IronPDF dans ce document exemple de code.
La sortie peut également être enregistrée dans un fichier CSV qui peut être formaté et édité ultérieurement pour une analyse plus poussée des données. Le code est le suivant :
using (StreamWriter file = new StreamWriter("table_example.csv", false))
{
string [] textList = text.Split("\n");
foreach (string textItem in textList)
{
if (textItem.Contains("."))
{
continue;
}
else
{
file.WriteLine(textItem);
}
}
}
using (StreamWriter file = new StreamWriter("table_example.csv", false))
{
string [] textList = text.Split("\n");
foreach (string textItem in textList)
{
if (textItem.Contains("."))
{
continue;
}
else
{
file.WriteLine(textItem);
}
}
}
Imports Microsoft.VisualBasic
Using file As New StreamWriter("table_example.csv", False)
Dim textList() As String = text.Split(vbLf)
For Each textItem As String In textList
If textItem.Contains(".") Then
Continue For
Else
file.WriteLine(textItem)
End If
Next textItem
End Using
Le résultat sera sauvegardé dans un fichier CSV où chaque textItem
sera une colonne.
Cet article a montré comment extraire des données et des tableaux d'un document PDF à l'aide d'IronPDF. IronPDF offre plusieurs options utiles pour extraire du texte des fichiers PDF. Il fournit le ExtraitTexteDePage
qui permet d'extraire des données d'une page spécifique. IronPDF facilite également la conversion de différents formats en PDF tels que fichiers markdown ou Fichiers DOCX et de PDF vers différents formats. Il est donc facile pour les développeurs d'intégrer la fonctionnalité PDF dans le processus de développement d'applications. En outre, il ne nécessite pas Adobe Acrobat Reader pour visualiser et modifier les documents PDF.
IronPDF est gratuit pour le développement et peut faire l'objet d'une licence pour un usage commercial. Il fournit un licence d'essai gratuite pour tester toutes les fonctionnalités de la bibliothèque. Vous trouverez des informations plus détaillées sur ce lien.
9 produits de l'API .NET pour vos documents de bureau