En muchos flujos de trabajo empresariales, los documentos PDF escaneados deben transformarse en texto buscable o editable. El tutorial Extract Text from Scanned PDFs with Aspose.PDF OCR in C# demuestra cómo aprovechar el motor OCR integrado en Aspose.PDF for .NET para extraer texto plano de páginas basadas en imágenes. Siguiendo esta guía obtendrá una solución lista para ejecutar que funciona con cualquier PDF escaneado, sin importar su tamaño o idioma.
Extraer texto de PDFs escaneados usando Aspose.PDF OCR SDK
Los PDFs escaneados contienen solo imágenes, por lo que las API típicas de extracción de texto no devuelven nada. OCR (Reconocimiento Óptico de Caracteres) convierte esas imágenes en caracteres legibles por máquina, lo que permite la indexación, la minería de datos y el procesamiento posterior. Automatizar OCR en C# elimina los pasos manuales de copiar y pegar, mejora la precisión y se escala a grandes lotes de documentos.
Aspose.PDF proporciona el espacio de nombres Aspose.Pdf.Ocr, que incluye OcrTextRecognitionOptions, OcrTextAbsorber y los enumerados de idioma. La biblioteca se distribuye a través de NuGet. Instálala con el siguiente comando:
Install-Package Aspose.PDF
Para obtener más información, visite la página del producto Aspose.PDF.
Extraer texto de PDFs escaneados con Aspose.PDF OCR en C#
- Cargue el PDF escaneado en un
Aspose.Pdf.Document. - Configure las opciones de OCR (idioma, resolución, separador de página).
- Aplique un
OcrTextAbsorbera la colección de páginas del documento. - Recupere el texto reconocido y guárdelo.
El ejemplo muestra cómo cargar un PDF escaneado, configurar OCR, extraer texto y escribir el resultado en un archivo usando C#.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RecognizeTextWithOcr()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Configure OCR recognition options
var options = new Aspose.Pdf.Ocr.OcrTextRecognitionOptions
{
Language = Aspose.Pdf.Ocr.OcrLanguage.English,
Resolution = 300,
PageSeparator = "\n\n"
};
// Recognize text from all pages
var absorber = new Aspose.Pdf.Ocr.OcrTextAbsorber(options);
document.Pages.Accept(absorber);
// Save recognized text
System.IO.File.WriteAllText(dataDir + "recognized-text.txt", absorber.Text);
}
}
Aspose.PDF Características que importan para esta tarea
- Motor OCR integrado – Sin dependencias externas; el motor OCR se encuentra en el espacio de nombres
Aspose.Pdf.Ocr. - Selección de idioma – El enum
OcrLanguagele permite especificar el diccionario para un mejor reconocimiento. - Control de resolución – Un DPI más alto mejora la fidelidad de los caracteres, especialmente en escaneos tenues.
- PageSeparator – Cadena personalizable para separar páginas en el texto de salida.
- Colección de páginas segura para subprocesos – Permite el procesamiento paralelo de PDFs grandes.
Estas capacidades permiten una solución robusta y de una sola biblioteca para extraer texto de cualquier PDF escaneado.
Instalación y configuración en C#
- Abra su solución .NET en Visual Studio.
- Abra la Package Manager Console y ejecute
Install-Package Aspose.PDF. - Agregue
using Aspose.Pdf;yusing Aspose.Pdf.Ocr;en la parte superior de su archivo de clase. - Asegúrese de tener una licencia temporal o completa; sin ella, la salida puede contener una marca de agua.
Para obtener detalles de la licencia, consulte la página de licencia temporal.
Implementación paso a paso en C#
¿Qué responde esta sección? ¿Cuáles son los pasos exactos del código para extraer texto?
- Inicializar el documento
var pdfPath = "path/to/scanned.pdf"; var document = new Document(pdfPath); - Crear opciones de OCR
var ocrOptions = new OcrTextRecognitionOptions { Language = OcrLanguage.English, Resolution = 300, PageSeparator = "\n--- Page Break ---\n" }; - Ejecutar el absorber
var absorber = new OcrTextAbsorber(ocrOptions); document.Pages.Accept(absorber); - Acceder al texto extraído
string extractedText = absorber.Text; - Guardar o procesar el texto
System.IO.File.WriteAllText("output.txt", extractedText);
El código sigue el mismo flujo que el ejemplo completo anterior, pero divide la lógica en pasos digeribles.
Obtener una licencia gratuita
Evalúe Aspose.PDF sin costo solicitando una licencia temporal aquí: https://purchase.aspose.com/temporary-license/
Recursos adicionales gratuitos
Conclusión
Esta guía le mostró cómo extraer texto de PDFs escaneados usando Aspose.PDF OCR en C#. Aprendió cómo instalar la biblioteca, configurar las opciones de OCR para mayor precisión, implementar una canalización de extracción limpia y aplicar optimizaciones de rendimiento para documentos grandes. Con estas técnicas, cualquier desarrollador .NET puede convertir PDFs solo de imágenes en flujos de texto buscables y editables.
Preguntas frecuentes
¿Cómo extraer texto de un PDF escaneado en C# usando Aspose.PDF?
Crear unDocument, configurarOcrTextRecognitionOptions, ejecutar unOcrTextAbsorberen las páginas y leer la propiedadText.¿Qué idiomas OCR son compatibles con Aspose.PDF?
La biblioteca admite muchos idiomas a través del enumeradoOcrLanguage, incluidos inglés, francés, alemán, español, chino y más.¿Cómo puedo mejorar la precisión del OCR para escaneos de baja resolución?
Aumente laResolution(p. ej., 300 DPI), seleccione el idioma correcto y considere el preprocesamiento de imágenes para mejorar el contraste.¿Es seguro procesar PDFs grandes en paralelo?
Sí, dividiendo el documento en rangos de páginas y procesando cada rango en un hilo separado, mientras se supervisa el uso de memoria.¿Qué licencia se requiere para las funciones de OCR?
OCR está totalmente disponible con una licencia válida de Aspose.PDF for .NET; se puede obtener una licencia temporal para evaluación.¿Dónde puedo encontrar más documentación sobre la configuración de OCR?
Guías detalladas de configuración de OCR están disponibles en la documentación de Aspose.PDF OCR en https://docs.aspose.com/pdf/net/.
