`getRawTextContent` does not returns words' pieces in proper coordinate order

Abierto
#421 7 comentarios 0 reacciones 0 asignados Ver en GitHub

@gkostov ya está trabajando en esto.

Desde el 11/9/2026.

  • #436 de @gkostov — abierto

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
java
Área
backend

Línea de trabajo

Comienza localizando getRawTextContent e inspeccionando cómo se ordenan los elementos de bidiTexts y cómo se gestionan sus coordenadas y. Reproduce la secuencia indicada con el PDF de ejemplo o un fixture equivalente; la tarea estará terminada cuando el texto extraído conserve el orden de coordenadas previsto para los grupos de caracteres invertidos.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Hey,

getRawTextContent seems to assume that word pieces in the bidiTexts array appear in ascending order of their y coordinate but they probably do appear as they are being added by the PDF rendering software. I have a file where a line of text looking on screen like

Some label 12.3 4455

appears in that array as

Some label | 3 | . | 2 | 1 | 5 | 5 | 4 | 4

that is, the character groups are properly following one after the other but the order of individual characters within the groups is reversed. And getRawTextContent() naively returns

Some label 3.21 5544

The y number of each item correctly shows the correct position but the code is not considering that (it only checks the absolute y difference).

So I wonder if this has a known solution before I go and change the code myself?

Cheers for the nice work.

Lenguaje dominante
Java
Estrellas
2.2k
Forks
396
Merge medio
9 d 19 h
PR fusionados (30 d)
3

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de modesty/pdf2json

Todos los issues de modesty/pdf2json

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.