Cómo extraer texto e imágenes incrustados en archivos PDF
La extracción de texto e imágenes incrustados implica recuperar el contenido textual y los elementos gráficos del documento. Este proceso permite a los usuarios acceder al contenido y reutilizarlo para editar, buscar o convertir texto a otros formatos y guardar imágenes para reutilizarlas o analizarlas.
Para extraer texto e imágenes de un PDF, utilice IronPdf. La imagen extraída puede guardarse en el disco o convertirse a otro formato de imagen e incrustarse en el nuevo documento renderizado.
Cómo extraer texto e imágenes incrustados en archivos PDF
- Descargar la biblioteca C# para extraer texto e imágenes incrustados
- Preparar el documento PDF para la extracción de texto e imágenes
- Utiliza el
ExtraerTodoTexto
método para extraer texto - Utiliza el
ExtraerTodasLasImágenes
método de extracción de imágenes - Especifique las páginas concretas de las que extraer texto e imágenes
Instalar con NuGet
Install-Package IronPdf
Extraer texto Ejemplo
La extracción de texto puede realizarse tanto en documentos PDF recién renderizados como en documentos existentes. Utilice el método ExtractAllText
para extraer el texto incrustado del documento. El método devolverá una cadena que contiene todo el texto del PDF dado. Las páginas están separadas por cuatro Environment.NewLinesPages consecutivas. Utilicemos un muestra PDF que he extraído del sitio 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)
![Texto extraído](/static-assets/pdf/how-to/extract-text-and-images/extract-text.webp)
Extraer texto por línea y carácter
Dentro de cada página PDF, es posible recuperar las coordenadas de las líneas de texto y los caracteres. En primer lugar, seleccione una página del PDF y acceda a las propiedades Líneas y Caracteres. Las coordenadas se presentan como valores Superior, Derecha, Inferior e Izquierda, que representan la posición del texto.
: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.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.Bottom:F2}: {l.Contents}"))
![Texto extraído por línea y carácter](/static-assets/pdf/how-to/extract-text-and-images/extract-text-by-line-character.webp)
Ejemplo de extracción de imágenes
Utilice el método ExtractAllImages
para extraer todas las imágenes incrustadas en el documento. El método devolverá las imágenes como una lista de objetos AnyBitmap. Utilizando el mismo documento de nuestro ejemplo anterior, extrajimos las imágenes y las exportamos a la carpeta '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
![Imágenes extraídas](/static-assets/pdf/how-to/extract-text-and-images/extract-images.webp)
Además del método ExtractAllImages
mostrado anteriormente, el usuario puede utilizar los métodos ExtractAllBitmaps
y ExtractAllRawImages
para extraer información de imagen del documento. Mientras que el método ExtractAllBitmaps
devolverá una lista de AnyBitmap, como en el ejemplo de código, el método ExtractAllRawImages
extrae todas las imágenes de un documento PDF y las devuelve como datos sin procesar en forma de matrices de bytes (byte []).
Extraer texto e imágenes de páginas específicas
Tanto la extracción de texto como la de imágenes pueden realizarse en una o varias páginas especificadas. Utilice los métodos ExtractTextFromPage
y ExtractTextFromPages
para extraer texto de una sola página o de varias, respectivamente. Para extraer imágenes, utilice los métodos ExtractImagesFromPage
y 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)