Comment extraire le texte et les images incorporés dans les PDF ?
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.
Comment extraire le texte et les images incorporés dans les PDF ?
- Télécharger la bibliothèque IronPdf C#
- Préparer le document PDF pour l'extraction de texte et d'image
- Utiliser le
ExtractAllText
méthode d'extraction de texte - Utiliser le
Extraire toutes les images
méthode d'extraction d'images - Spécifier les pages particulières dont il faut extraire le texte et les images
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)
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}"))
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
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)