Passer au contenu du pied de page
UTILISATION DE IRONPDF

Comment lire des données à partir de fichiers PDF en ASP.NET Core ?

IronPDF simplifie l'extraction de données PDF dans ASP.NET Core en fournissant des méthodes pour lire le texte, les données de formulaire et les tableaux des fichiers PDF à l'aide d'un code C# simple, sans dépendances complexes ni analyse manuelle.

Travailler avec des fichiers PDF dans des applications .NET Core peut s'avérer plus complexe qu'il n'y paraît. Vous pourriez avoir besoin d'extraire du texte à partir de factures téléchargées, de récupérer des données de formulaires à partir d'enquêtes ou d'analyser des tables pour votre base de données. De nombreux projets ralentissent car les développeurs utilisent des bibliothèques trop complexes. C'est là qu'IronPDF s'avère utile. Il vous permet de lire et de traiter des documents PDF sans avoir à gérer des dépendances complexes ni à écrire de longs codes d'analyse personnalisés.

Que vous gériez du texte simple, des signatures numériques ou des données structurées, IronPDF vous simplifie la tâche. Ce guide vous montre comment lire des données à partir de fichiers PDF dans ASP.NET, gérer IFormFile, travailler avec des tableaux d'octets et même renvoyer des fichiers à l'utilisateur ou les afficher sous forme de chaînes HTML . Vous pouvez également l'intégrer à vos déploiements conteneurisés , afficher les résultats dans le navigateur ou les stocker dans une base de données cloud .

Comment configurer IronPDF dans ASP.NET Core ?

La prise en main d'IronPDF dans votre projet ASP.NET Core est rapide. Installez le package NuGet IronPDF via la console du gestionnaire de packages NuGet avec la commande suivante :

Install-Package IronPdf

Ou via le .NET CLI :

dotnet add package IronPdf

Une fois installé, ajoutez l'espace de noms IronPDF à votre classe Program, votre contrôleur ou vos services :

using IronPdf;
using IronPdf;
$vbLabelText   $csharpLabel

Pour connaître les options d'installation détaillées, notamment le déploiement Docker , la configuration Azure et la compatibilité Linux supplémentaire, consultez la documentation complète. La bibliothèque fonctionne parfaitement dans les environnements conteneurisés avec une configuration minimale, ce qui la rend idéale pour les architectures de microservices . Vous pouvez également le configurer pour les environnements AWS Lambda , les serveurs Windows ou les systèmes macOS . La présentation de l'installation fournit des instructions spécifiques à chaque plateforme, tandis que les options NuGet avancées couvrent les scénarios de déploiement en entreprise.

Comment extraire du texte des fichiers PDF ?

La méthode ExtractAllText d'IronPDF fournit un accès instantané à tout le contenu textuel d'un document PDF. Cette méthode gère divers encodages de texte et maintient l'ordre de lecture du document original, garantissant une extraction précise des données des fichiers PDF dans les applications ASP.NET Core. Le processus d'extraction est sûr pour les threads et amélioré pour les scénarios à hautes performances . Il prend en charge l'encodage UTF-8 pour les langues internationales .

// Load a PDF document
var pdf = PdfDocument.FromFile("document.pdf");
// Extract all text
string allText = pdf.ExtractAllText();
// Extract text from specific page (0-indexed)
string pageText = pdf.ExtractTextFromPage(0); // current page
// Load a PDF document
var pdf = PdfDocument.FromFile("document.pdf");
// Extract all text
string allText = pdf.ExtractAllText();
// Extract text from specific page (0-indexed)
string pageText = pdf.ExtractTextFromPage(0); // current page
$vbLabelText   $csharpLabel

La méthode ExtractAllText renvoie une chaîne de caractères contenant tout le texte lisible du PDF, en préservant les sauts de ligne et les espacements. Pour l'extraction de texte spécifique à une page, ExtractTextFromPage permet de cibler des pages individuelles en utilisant l'indexation à partir de zéro. Cette méthode fonctionne parfaitement avec les fichiers PDF chiffrés lorsque vous fournissez le mot de passe correct. L'extraction de texte prend en charge l'encodage UTF-8 et les langues internationales . Vous pouvez également analyser des régions spécifiques ou travailler avec des objets DOM PDF pour un contrôle plus précis.

Voici une implémentation pratique de contrôleur ASP.NET Core qui démontre comment lire des données à partir de fichiers PDF en utilisant une allocation de mémoire minimale :

Quelle est la meilleure façon d'implémenter l'extraction de texte dans un contrôleur ?

[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
    [HttpPost("extract-text")]
    public IActionResult ExtractText(IFormFile pdfFile)
    {
        using var stream = new MemoryStream();
        pdfFile.CopyTo(stream);
        var pdf = new PdfDocument(stream.ToArray());
        var extractedText = pdf.ExtractAllText();
        return Ok(new { text = extractedText });
    }
}
[ApiController]
[Route("api/[controller]")]
public class PdfController : ControllerBase
{
    [HttpPost("extract-text")]
    public IActionResult ExtractText(IFormFile pdfFile)
    {
        using var stream = new MemoryStream();
        pdfFile.CopyTo(stream);
        var pdf = new PdfDocument(stream.ToArray());
        var extractedText = pdf.ExtractAllText();
        return Ok(new { text = extractedText });
    }
}
$vbLabelText   $csharpLabel

Ce code d'exemple gère efficacement les fichiers PDF téléchargés. Le paramètre IFormFile est compatible avec les pages Razor et les contrôleurs MVC , tandis que MemoryStream garantit un traitement fluide sans création de fichiers temporaires, améliorant ainsi le temps de réponse. Vous pouvez télécharger, enregistrer ou traiter le texte extrait pour le stocker dans une base de données, générer des rapports ou afficher le contenu dans le navigateur grâce au rendu HTML adaptatif . Envisagez la mise en œuvre de modèles asynchrones pour une meilleure évolutivité et une journalisation personnalisée pour la surveillance des opérations d'extraction. Pour les applications Blazor Server , la même approche s'applique avec quelques ajustements mineurs au modèle de composants.

Comment lire les données de formulaire PDF ?

Les formulaires PDF contiennent des champs interactifs que les utilisateurs remplissent. IronPDF simplifie l'extraction des données de formulaire grâce à son API complète, compatible avec tous les types de champs AcroForm standard. Vous pouvez ainsi extraire facilement toutes les données des champs, y compris les zones de texte, les cases à cocher et les détails du type de contenu. La bibliothèque gère automatiquement les signatures numériques et la validation des formulaires . Il prend également en charge la conformité PDF/A pour les exigences d'archivage et les normes d'accessibilité de la section 508 .

La réponse peut alors être enregistrée dans une base de données, retournée à l'utilisateur, ou intégrée dans votre flux de travail de l'application ASP.NET. Pour les déploiements Azure , envisagez d'utiliser le stockage Blob pour les données de formulaire traitées. Le code suivant démontre comment faire justement cela :

[HttpPost("extract-form")]
        public IActionResult ExtractForm([FromForm] IFormFile pdfFile)
        {
            if (pdfFile == null || pdfFile.Length == 0)
            {
                return BadRequest("No PDF file uploaded.");
            }
            using var stream = new MemoryStream();
            pdfFile.CopyTo(stream);
            var pdf = new PdfDocument(stream.ToArray());
            var formData = new Dictionary<string, string>();
            if (pdf.Form != null)
            {
                foreach (var field in pdf.Form)
                {
                    formData[field.Name] = field.Value;
                }
            }
            return Ok(new { formFields = formData });
        }
[HttpPost("extract-form")]
        public IActionResult ExtractForm([FromForm] IFormFile pdfFile)
        {
            if (pdfFile == null || pdfFile.Length == 0)
            {
                return BadRequest("No PDF file uploaded.");
            }
            using var stream = new MemoryStream();
            pdfFile.CopyTo(stream);
            var pdf = new PdfDocument(stream.ToArray());
            var formData = new Dictionary<string, string>();
            if (pdf.Form != null)
            {
                foreach (var field in pdf.Form)
                {
                    formData[field.Name] = field.Value;
                }
            }
            return Ok(new { formFields = formData });
        }
$vbLabelText   $csharpLabel

Le point de terminaison ExtractForm utilise la propriété Form de PdfDocument pour lire les champs interactifs d'un PDF téléchargé. Chaque champ a un Nom et une Valeur, qui sont collectés dans un dictionnaire et retournés sous forme de JSON. Cela permet de capturer facilement les données de zones de texte, cases à cocher et autres entrées, permettant aux soumissions de formulaire PDF d'être traitées et intégrées directement dans vos applications ou bases de données. Pour la journalisation personnalisée des événements de traitement des formulaires, intégrez-la à votre framework de journalisation préféré. Vous pouvez également aplatir les formulaires pour empêcher toute modification ultérieure ou ajouter de nouveaux champs de formulaire par programmation.

Pourquoi l'extraction de formulaire renvoie-t-elle le format JSON ?

Réponse de l'API affichant des données JSON extraites d'un formulaire PDF avec les champs Nom, E-mail et Adresse, affichées dans l'interface de test Postman avec le statut 200 OK

Le format JSON garantit la compatibilité avec les API web modernes et les architectures de microservices. Ce format standardisé fonctionne parfaitement avec les services RESTful , les files d'attente de messages et les solutions de stockage cloud . Sa structure légère minimise la surcharge réseau dans les systèmes distribués. Il est également idéal pour les requêtes AJAX et les applications Angular . Ce format permet des opérations asynchrones et fonctionne parfaitement avec l'intégration d'OpenAI pour le traitement intelligent des documents.

Comment extraire les données de tableau des documents PDF ?

Les tableaux dans les PDF sont essentiellement du texte formaté, nécessitant une logique de parsing pour extraire des données structurées. IronPDF extrait le texte tout en préservant l'espacement, que vous pouvez ensuite analyser pour lire les données des fichiers PDF dans ASP.NET. Pour les tableaux complexes, envisagez d'utiliser l'accès aux objets DOM pour accéder à la structure du document par programmation. La bibliothèque gère les mises en page à plusieurs colonnes et préserve la mise en forme des polices lors de l'extraction :

[HttpPost("extract-table")]
public IActionResult ExtractTable([FromForm] IFormFile pdfFile)
{
    if (pdfFile == null || pdfFile.Length == 0)
        return BadRequest("No PDF file uploaded.");
    using var memoryStream = new MemoryStream();
    pdfFile.CopyTo(memoryStream);
    // Load PDF from byte array
    var pdf = new PdfDocument(memoryStream.ToArray());
    // Extract all text
    string text = pdf.ExtractAllText();
    // Split text into lines (rows)
    string[] lines = text.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
    var tableData = new List<string[]>();
    foreach (string line in lines)
    {
        // Split line into columns using tab character
        string[] columns = line
            .Split('\t')
            .Where(c => !string.IsNullOrWhiteSpace(c))
            .ToArray();
        if (columns.Length > 0)
            tableData.Add(columns);
    }
    var table = tableData.Select(r => string.Join(" | ", r)).ToList();
    return Ok(new { Table = table });
}
[HttpPost("extract-table")]
public IActionResult ExtractTable([FromForm] IFormFile pdfFile)
{
    if (pdfFile == null || pdfFile.Length == 0)
        return BadRequest("No PDF file uploaded.");
    using var memoryStream = new MemoryStream();
    pdfFile.CopyTo(memoryStream);
    // Load PDF from byte array
    var pdf = new PdfDocument(memoryStream.ToArray());
    // Extract all text
    string text = pdf.ExtractAllText();
    // Split text into lines (rows)
    string[] lines = text.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
    var tableData = new List<string[]>();
    foreach (string line in lines)
    {
        // Split line into columns using tab character
        string[] columns = line
            .Split('\t')
            .Where(c => !string.IsNullOrWhiteSpace(c))
            .ToArray();
        if (columns.Length > 0)
            tableData.Add(columns);
    }
    var table = tableData.Select(r => string.Join(" | ", r)).ToList();
    return Ok(new { Table = table });
}
$vbLabelText   $csharpLabel

Ce code extrait le texte et le divise en lignes de tableau potentielles en fonction de motifs d'espacement. Pour des tableaux plus complexes, vous pourriez avoir besoin d'identifier les limites des tableaux en utilisant des mots-clés ou d'implémenter une logique de parsing plus sophistiquée en fonction de la structure spécifique de votre PDF. Envisagez d'utiliser le traitement parallèle pour les documents volumineux comportant plusieurs tables. Vous pouvez également convertir les tableaux au format HTML pour faciliter leur manipulation ou les exporter vers Excel pour une analyse plus approfondie.

Ce résultat peut être téléchargé, affiché dans le navigateur ou traité pour obtenir des informations supplémentaires. Vous pouvez intégrer la mise en forme CSS ou le rendu de chaînes HTML pour afficher les tableaux de manière dynamique dans votre solution. Pour les scénarios à hautes performances , mettez en cache les données analysées des tables afin d'éviter les traitements répétés. Envisagez des techniques de compression pour réduire la taille des fichiers lors du stockage des données extraites.

Quand faut-il analyser les tableaux manuellement plutôt qu'utiliser les méthodes intégrées ?

Réponse de l'API affichant les données structurées de la facture extraites du PDF, y compris les informations client, les métadonnées de la facture et les produits détaillés avec leurs prix au format JSON.

L'analyse manuelle offre une flexibilité pour les formats de tableau non standard, tandis que les méthodes intégrées offrent de meilleures performances pour les mises en page standard. Choisissez l'analyse manuelle pour les cellules fusionnées , les tableaux imbriqués ou les mises en forme personnalisées. Utilisez l'extraction intégrée pour les données tabulaires standard avec un espacement de colonnes constant. Pour les mises en page complexes , envisagez un prétraitement avec JavaScript ou l'utilisation d'options de rendu personnalisées . Le moteur de rendu de Chrome assure un positionnement précis du texte pour la plupart des formats de tableau.

Comment gérer les fichiers PDF téléchargés dans ASP.NET Core ?

Le traitement des PDF téléchargés requiert la conversion de l'IFormFile vers un format qu'IronPDF peut lire. Cette approche fonctionne parfaitement avec les pages Razor et les contrôleurs MVC . Pour les applications conteneurisées , assurez-vous de configurer correctement l'allocation de mémoire . Le processus prend en charge les fichiers volumineux et les opérations par lots :

[HttpPost("process-upload")]
        public async Task<IActionResult> ProcessPdf([FromForm] IFormFile file)
        {
            if (file == null || file.Length == 0)
                return BadRequest("No PDF file uploaded.");
            using var ms = new MemoryStream();
            await file.CopyToAsync(ms);
            // Load PDF from byte array
            var pdf = new PdfDocument(ms.ToArray());
            // Extract text and page count
            var text = pdf.ExtractAllText();
            var pageCount = pdf.PageCount;
            return Ok(new
            {
                text = text,
                pages = pageCount
            });
        }
[HttpPost("process-upload")]
        public async Task<IActionResult> ProcessPdf([FromForm] IFormFile file)
        {
            if (file == null || file.Length == 0)
                return BadRequest("No PDF file uploaded.");
            using var ms = new MemoryStream();
            await file.CopyToAsync(ms);
            // Load PDF from byte array
            var pdf = new PdfDocument(ms.ToArray());
            // Extract text and page count
            var text = pdf.ExtractAllText();
            var pageCount = pdf.PageCount;
            return Ok(new
            {
                text = text,
                pages = pageCount
            });
        }
$vbLabelText   $csharpLabel

Cette tâche asynchrone garantit un traitement non bloquant et fonctionne avec les gestionnaires d'événements et les bibliothèques .NET standard. Utilisez ReturnFile avec les en-têtes Content-Disposition pour permettre aux utilisateurs de télécharger en toute sécurité les fichiers PDF traités. Pour une sécurité supplémentaire, pensez à implémenter une validation de fichier avant le traitement. Le modèle asynchrone améliore l'évolutivité des déploiements dans le cloud . Vous pouvez également intégrer des filigranes personnalisés ou des signatures numériques lors du traitement. Pour les applications MAUI , des schémas similaires s'appliquent avec des ajustements spécifiques à chaque plateforme.

Comment améliorer les performances de chargement de fichiers ?

Mettez en place le téléchargement en continu pour les fichiers volumineux afin de réduire l'utilisation de la mémoire. Configurez les limites de taille de requête appropriées dans vos paramètres IIS ou votre configuration Kestrel . Pour les déploiements AWS Lambda , envisagez d'utiliser des URL S3 pré-signées pour les chargements directs, en contournant complètement votre API. Utilisez des délais de rendu pour le contenu riche en JavaScript et des délais d'expiration personnalisés pour les documents volumineux. Activez la linéarisation pour un affichage Web plus rapide et implémentez le rendu progressif pour une meilleure expérience utilisateur. Optez pour IronPdf.Slim pour réduire la taille des déploiements dans les environnements sans serveur.

Quelles sont les prochaines étapes pour l'extraction de données PDF ?

IronPDF simplifie la lecture, l'extraction, le traitement et l'enregistrement de documents PDF dans ASP.NET Core et d'autres applications .NET Core. Que vous travailliez avec des formulaires, des tableaux, du texte brut ou des signatures numériques , cette bibliothèque .NET simplifie les tâches qui prennent normalement des heures en quelques lignes de code seulement. Vous pouvez créer, convertir, accéder et afficher des résultats aux formats HTML , navigateur ou même image . La bibliothèque prend en charge la conformité PDF/A pour l'archivage à long terme et les normes de la section 508 en matière d'accessibilité.

Pour les déploiements en production, envisagez la mise en œuvre de points de terminaison de contrôle d'intégrité pour surveiller les services de traitement PDF. Utilisez la journalisation personnalisée pour suivre les performances d'extraction et les erreurs. Mettre en œuvre des politiques de nouvelle tentative pour la gestion des pannes transitoires dans les systèmes distribués. Configurez les options de rendu pour des performances optimales et mettez en œuvre des stratégies de mise en cache pour les documents fréquemment consultés. La bibliothèque s'intègre parfaitement aux pipelines CI/CD et prend en charge le rendu sans interface graphique pour les environnements serveur.

Commencez par un essai gratuit pour découvrir toutes les fonctionnalités d'IronPDF dans vos projets ASP.NET Core. Vous pouvez construire et tester vos flux de travail d'extraction PDF avant de vous engager à une licence. Pour la production, IronPDF propose des options de licence flexibles adaptées aux développeurs indépendants comme aux grandes équipes. La bibliothèque prend en charge les déploiements conteneurisés et fournit une documentation complète pour les équipes. L'utilisation d'IronPDF est l'une des méthodes les plus rapides pour gérer les fichiers PDF dans ASP.NET Core sans les problèmes de déploiement habituels. Consultez le guide de démarrage rapide pour une mise en œuvre immédiate ou explorez les fonctionnalités avancées telles que les capacités OCR et la génération de codes-barres pour des solutions complètes de traitement de documents.

Questions Fréquemment Posées

Quels défis peuvent survenir lors de la manipulation de fichiers PDF dans les applications .NET Core ?

Travailler avec des fichiers PDF dans .NET Core peut être délicat en raison de la nécessité d'extraire du texte, de récupérer des données de formulaires, ou d'analyser des tables sans bibliothèques trop complexes.

Comment IronPDF peut-il aider à simplifier la lecture de données à partir de fichiers PDF dans ASP.NET ?

IronPDF simplifie la lecture et le traitement des documents PDF en éliminant le besoin de dépendances chaotiques ou de code de parsing personnalisé étendu.

Pourquoi est-il important d'éviter les bibliothèques trop complexes lors de la manipulation des PDF ?

L'utilisation de bibliothèques trop complexes peut ralentir les projets et augmenter le temps de développement, alors que des solutions plus simples comme IronPDF simplifient le processus.

Quels types de données IronPDF peut-il extraire des fichiers PDF ?

IronPDF peut extraire du texte, des données de formulaires et des tables à partir de fichiers PDF, ce qui le rend polyvalent pour divers besoins de gestion des données.

IronPDF peut-il être utilisé pour traiter des factures téléchargées dans les applications ASP.NET ?

Oui, IronPDF peut lire et traiter efficacement le texte des factures téléchargées dans les applications ASP.NET.

Est-il nécessaire d'écrire du code de parsing personnalisé lors de l'utilisation d'IronPDF ?

Non, IronPDF vous permet de traiter les documents PDF sans avoir besoin de code de parsing personnalisé étendu.

Quels sont les avantages d'utiliser IronPDF dans les applications .NET Core ?

IronPDF fournit un moyen simple de lire et traiter les fichiers PDF, améliorant les capacités de gestion des données sans dépendances complexes.

.NET 10 — IronPDF est-il entièrement compatible avec cette version ?

Oui. IronPDF est conçu pour être entièrement compatible avec .NET 10 (ainsi qu'avec .NET 9, 8, 7, 6, 5, Core, Standard et Framework 4.6.2+), vous assurant ainsi de pouvoir utiliser toutes ses fonctionnalités de lecture et d'écriture de PDF sans solutions de contournement particulières sur la dernière plateforme .NET.

IronPDF prend-il en charge les dernières API de .NET 10 pour la lecture de contenu PDF en flux continu ?

Oui. Sous .NET 10, IronPDF peut traiter les données PDF à partir de tableaux d'octets ou de flux mémoire (grâce à des API comme Stream et MemoryStream), ce qui permet de lire les PDF sans enregistrer de fichiers temporaires. Il est ainsi parfaitement adapté aux serveurs hautes performances et au chargement ou au traitement de données PDF via des API web.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite