Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
L'extraction de données à partir d'un fichier PDF peut être 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 solution de bibliothèque C# .NET pour la génération de PDF dans .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 siteSite 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 son site WebPage du paquet 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, leChromePdfRenderer
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")
LesSaveAs
enregistrera la méthodePdfDocument
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 fonctionExtraireToutTexte
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 documentexemple de code pour extraire des données d'un PDF en C#.
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 leExtraitTexteDePage
qui permet d'extraire des données d'une page spécifique. IronPDF facilite également la conversion de différents formats en PDF tels quefichiers markdown ouFichiers 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 unlicence d'essai gratuite pour tester IronPDF 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