IRONSOFTWAREHOME

Extracción de texto desordenada de tablas compactas

Curtis Chau
Curtis Chau
Updated: 10 de junio de 2026

El texto extraído de tablas o diseños de formularios compactos aparece desordenado. Caracteres de filas adyacentes se entrelazan, por ejemplo, "Número único 123456789" se extrae como "U123456789nique Number".

Esta es una limitación conocida de la extracción de page.Lines para diseños densamente empaquetados. page.Lines agrupa caracteres utilizando una tolerancia vertical incorporada que no es configurable. Cuando dos filas visibles en una celda de tabla están solo a un punto o dos de distancia, el agrupador colapsa ambas filas en una línea lógica y ordena los caracteres de izquierda a derecha, entrelazándolos. El método ExtractTextFromPage(i) utiliza por defecto el orden de flujo de contenido, el cual puede no coincidir con el orden de lectura visual en formularios PDF.

Solución

Recomendado: Extraer usando TextChunks con una tolerancia ajustable

Cada TextChunk expone su BoundingBox, lo que permite agrupar por posición vertical y ordenar dentro de cada fila por posición horizontal:

using IronPdf.Pages;
using System.Text;

static string ExtractTextUsingTextChunks(IPdfPage page, double rowTolerance = 2.0)
{
    var rows = page.TextChunks
        .Where(c => !string.IsNullOrWhiteSpace(c.Contents))
        .GroupBy(c => Math.Round(c.BoundingBox.Top / rowTolerance) * rowTolerance)
        .OrderByDescending(g => g.Key);

    var extractedText = new StringBuilder();
    foreach (var row in rows)
    {
        var line = string.Join(" ",
            row.OrderBy(c => c.BoundingBox.Left)
               .Select(c => c.Contents.Trim())
               .Where(text => !string.IsNullOrWhiteSpace(text)));
        extractedText.AppendLine(line);
    }
    return extractedText.ToString();
}

Comienza con rowTolerance = 2.0. Si las filas aún se fusionan, redúcelo a 1.0 o 0.5. Para un control más fino, sustituye page.Characters por page.TextChunks.

Alternativa: Extracción en orden visual

Para PDFs donde solo el orden de flujo de contenido está mal:

pdf.ExtractTextFromPage(i, TextExtractionOrder.VisualOrder);

Para PDFs con filas que están visualmente muy juntas, el enfoque TextChunks maneja mejor las tolerancias ajustadas.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

...
Leer más

¿Listo para empezar?

Nuget Downloads 20,878,335Versión:2026.9recién publicada

Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta