Comment extraire le texte et les images incorporés dans les PDF ?

This article was translated from English: Does it need improvement?
Translated
View the article in English

par Chaknith Bin

L'extraction de textes et d'images intégrés consiste à récupérer le contenu textuel et les éléments graphiques du document. Ce processus permet aux utilisateurs d'accéder au contenu et de le réutiliser pour l'éditer, le rechercher ou convertir le texte dans d'autres formats et enregistrer des images pour les réutiliser ou les analyser.

Pour extraire du texte et des images d'un PDF, utilisez IronPDF. L'image extraite peut être enregistrée sur le disque ou convertie dans un autre format d'image et incorporée dans le nouveau document rendu.

Commencez avec IronPDF

Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer



Exemple d'extraction de texte

L'extraction de texte peut être effectuée à la fois sur des documents PDF nouvellement rendus et sur des documents existants. Utilisez la méthode ExtractAllText pour extraire le texte intégré du document. La méthode renvoie une chaîne contenant tout le texte du PDF donné. Les pages sont séparées par quatre lignes consécutives Environment.NewLinesPages. Utilisons unéchantillon PDF que j'ai rendu à partir du site web de Wikipedia.

:path=/static-assets/pdf/content-code-examples/how-to/extract-text-and-images-extract-text.cs
using IronPdf;
using System.IO;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Extract text
string text = pdf.ExtractAllText();

// Export the extracted text to a text file
File.WriteAllText("extractedText.txt", text);
Imports IronPdf
Imports System.IO

Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Extract text
Private text As String = pdf.ExtractAllText()

' Export the extracted text to a text file
File.WriteAllText("extractedText.txt", text)
VB   C#
Texte extrait

Extraire du texte par ligne et par caractère

Dans chaque page PDF, il est possible de récupérer les coordonnées des lignes de texte et des caractères. Tout d'abord, sélectionnez une page du PDF et accédez aux propriétés Lignes et Personnages. Les coordonnées sont présentées sous forme de valeurs Top, Right, Bottom et Left, représentant la position du texte.

:path=/static-assets/pdf/content-code-examples/how-to/extract-text-and-images-extract-text-by-line-character.cs
using IronPdf;
using System.IO;
using System.Linq;

// Open PDF from file
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Extract text by lines
var lines = pdf.Pages[0].Lines;

// Extract text by characters
var characters = pdf.Pages[0].Characters;

File.WriteAllLines("lines.txt", lines.Select(l => $"at Y={l.BoundingBox.Bottom:F2}: {l.Contents}"));
Imports IronPdf
Imports System.IO
Imports System.Linq

' Open PDF from file
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Extract text by lines
Private lines = pdf.Pages(0).Lines

' Extract text by characters
Private characters = pdf.Pages(0).Characters

File.WriteAllLines("lines.txt", lines.Select(Function(l) $"at Y={l.BoundingBox.Bottom:F2}: {l.Contents}"))
VB   C#
Texte extrait par ligne et par caractère

Exemple d'extraction d'images

Utilisez la méthode ExtractAllImages pour extraire toutes les images incorporées dans le document. La méthode renvoie les images sous la forme d'une liste d'objets AnyBitmap. En utilisant le même document que dans l'exemple précédent, nous avons extrait les images et les avons exportées dans le dossier "images".

:path=/static-assets/pdf/content-code-examples/how-to/extract-text-and-images-extract-image.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Extract images
var images = pdf.ExtractAllImages();

for(int i = 0; i < images.Count; i++)
{
    // Export the extracted images
    images[i].SaveAs($"images/image{i}.png");
}
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Extract images
Private images = pdf.ExtractAllImages()

For i As Integer = 0 To images.Count - 1
	' Export the extracted images
	images(i).SaveAs($"images/image{i}.png")
Next i
VB   C#
Images extraites

En plus de la méthode ExtractAllImages présentée ci-dessus, l'utilisateur peut utiliser les méthodes ExtractAllBitmaps et ExtractAllRawImages pour extraire des informations sur les images du document. Alors que la méthode ExtractAllBitmaps renvoie une liste de AnyBitmap, comme dans l'exemple de code, la méthode ExtractAllRawImages extrait toutes les images d'un document PDF et les renvoie en tant que données brutes sous la forme de tableaux d'octets(octet[]).


Extraire du texte et des images sur des pages spécifiques

L'extraction de texte et d'image peut être effectuée sur une ou plusieurs pages spécifiées. Utilisez les méthodes ExtractTextFromPage et ExtractTextFromPages pour extraire le texte d'une seule page ou de plusieurs pages, respectivement. Pour extraire des images, utilisez les méthodes ExtractImagesFromPage et ExtractImagesFromPages.

:path=/static-assets/pdf/content-code-examples/how-to/extract-text-and-images-extract-text-single-multiple.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Extract text from page 1
string textFromPage1 = pdf.ExtractTextFromPage(0);

int[] pages = new[] { 0, 2 };

// Extract text from pages 1 & 3
string textFromPage1_3 = pdf.ExtractTextFromPages(pages);
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Extract text from page 1
Private textFromPage1 As String = pdf.ExtractTextFromPage(0)

Private pages() As Integer = { 0, 2 }

' Extract text from pages 1 & 3
Private textFromPage1_3 As String = pdf.ExtractTextFromPages(pages)
VB   C#
Chaknith related to Extraire du texte et des images sur des pages spécifiques

Chaknith Bin

Ingénieur logiciel

Chaknith est le Sherlock Holmes des développeurs. C'est en s'amusant à relever des défis de code qu'il s'est rendu compte pour la première fois qu'il pourrait avoir un avenir dans le domaine de l'ingénierie logicielle. Il se concentre sur IronXL et IronBarcode, mais il est fier d'aider les clients avec chaque produit. Chaknith tire parti des connaissances qu'il a acquises en discutant directement avec les clients pour améliorer les produits eux-mêmes. Ses commentaires anecdotiques vont au-delà des tickets Jira et soutiennent le développement de produits, la documentation et le marketing, afin d'améliorer l'expérience globale des clients.Quand il n'est pas au bureau, on peut le trouver en train d'apprendre sur l'apprentissage automatique, le codage et la randonnée.