Wie man eingebetteten Text und Bilder aus PDFs extrahiert

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

von Chaknith Bin

Das Extrahieren von eingebettetem Text und Bildern beinhaltet das Abrufen von Textinhalten und grafischen Elementen innerhalb des Dokuments. Dieser Prozess ermöglicht es den Nutzern, auf die Inhalte zuzugreifen und sie für die Bearbeitung, die Suche, die Konvertierung von Text in andere Formate und die Speicherung von Bildern zur Wiederverwendung oder Analyse umzuwandeln.

Um Text und Bilder aus einer PDF-Datei zu extrahieren, verwenden Sie IronPDF. Das extrahierte Bild kann auf der Festplatte gespeichert oder in ein anderes Bildformat konvertiert und in das neu gerenderte Dokument eingebettet werden.

Erste Schritte mit IronPDF

Beginnen Sie noch heute mit der Verwendung von IronPDF in Ihrem Projekt mit einer kostenlosen Testversion.

Erster Schritt:
green arrow pointer



Text extrahieren Beispiel

Die Textextraktion kann sowohl für neu gerenderte als auch für bestehende PDF-Dokumente durchgeführt werden. Verwenden Sie die Methode ExtractAllText, um den eingebetteten Text aus dem Dokument zu extrahieren. Die Methode gibt eine Zeichenkette zurück, die den gesamten Text in der angegebenen PDF-Datei enthält. Die Seiten werden durch vier aufeinanderfolgende Environment.NewLinesPages getrennt. Verwenden wir einemuster-PDF die ich von der Wikipedia-Website wiedergegeben habe.

: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#
Extrahierter Text

Text zeilen- und zeichenweise extrahieren

Innerhalb jeder PDF-Seite ist es möglich, die Koordinaten von Textzeilen und Zeichen abzurufen. Wählen Sie zunächst eine Seite in der PDF-Datei aus und rufen Sie die Eigenschaften Zeilen und Zeichen auf. Die Koordinaten werden als Werte für Oben, Rechts, Unten und Links angegeben und stellen die Position des Textes dar.

: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#
Extrahierter Text nach Zeilen und Zeichen

Bilder extrahieren Beispiel

Verwenden Sie die Methode "ExtractAllImages", um alle im Dokument eingebetteten Bilder zu extrahieren. Die Methode gibt die Bilder als eine Liste von AnyBitmap-Objekten zurück. Wir haben das gleiche Dokument wie in unserem vorherigen Beispiel verwendet, die Bilder extrahiert und in den Ordner "images" exportiert.

: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#
Extrahierte Bilder

Zusätzlich zu der oben gezeigten Methode ExtractAllImages kann der Benutzer die Methoden ExtractAllBitmaps und ExtractAllRawImages verwenden, um Bildinformationen aus dem Dokument zu extrahieren. Während die Methode ExtractAllBitmaps eine Liste von AnyBitmaps zurückgibt, wie im Codebeispiel, extrahiert die Methode ExtractAllRawImages alle Bilder aus einem PDF-Dokument und gibt sie als Rohdaten in Form von Byte-Arrays zurück(byte[]).


Text und Bilder auf bestimmten Seiten extrahieren

Sowohl die Text- als auch die Bildextraktion kann auf einzelnen oder mehreren angegebenen Seiten durchgeführt werden. Verwenden Sie die Methoden ExtractTextFromPage und ExtractTextFromPages, um Text aus einer einzelnen Seite bzw. aus mehreren Seiten zu extrahieren. Zum Extrahieren von Bildern verwenden Sie die Methoden ExtractImagesFromPage und 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 Text und Bilder auf bestimmten Seiten extrahieren

Chaknith Bin

Software-Ingenieur

Chaknith ist der Sherlock Holmes der Entwickler. Zum ersten Mal kam ihm der Gedanke, dass er eine Zukunft in der Softwareentwicklung haben könnte, als er zum Spaß an Code Challenges teilnahm. Sein Schwerpunkt liegt auf IronXL und IronBarcode, aber er ist stolz darauf, Kunden mit jedem Produkt zu helfen. Chaknith nutzt sein Wissen aus direkten Gesprächen mit Kunden, um die Produkte selbst weiter zu verbessern. Sein anekdotisches Feedback geht über Jira-Tickets hinaus und unterstützt die Produktentwicklung, die Dokumentation und das Marketing, um das Gesamterlebnis der Kunden zu verbessern.Wenn er nicht im Büro ist, lernt er über maschinelles Lernen, programmiert und wandert.