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");
// Extraer texto
string text = pdf.ExtractAllText();
// Exportar el texto extraído a un archivo de texto
File.WriteAllText("extractedText.txt", text);
Imports IronPdf
Imports System.IO
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Extraer texto
Private text As String = pdf.ExtractAllText()
' Exportar el texto extraído a un archivo de texto
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 la propiedad 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;
// Abrir PDF desde archivo
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Extraer texto por líneas
var lines = pdf.Pages[0].Lines;
// Extraer texto por caracteres
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
' Abrir PDF desde archivo
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Extraer texto por líneas
Private lines = pdf.Pages(0).Lines
' Extraer texto por caracteres
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");
// Extraer imágenes
var images = pdf.ExtractAllImages();
for(int i = 0; i < images.Count; i++)
{
// Exportar las imágenes extraídas
images[i].SaveAs($"images/image{i}.png");
}
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Extraer imágenes
Private images = pdf.ExtractAllImages()
For i As Integer = 0 To images.Count - 1
' Exportar las imágenes extraídas
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");
// Extraer texto de la página 1
string textFromPage1 = pdf.ExtractTextFromPage(0);
int[] pages = new[] { 0, 2 };
// Extraer texto de las páginas 1 y 3
string textFromPage1_3 = pdf.ExtractTextFromPages(pages);
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Extraer texto de la página 1
Private textFromPage1 As String = pdf.ExtractTextFromPage(0)
Private pages() As Integer = { 0, 2 }
' Extraer texto de las páginas 1 y 3
Private textFromPage1_3 As String = pdf.ExtractTextFromPages(pages)