Ir al contenido

PDF Get Words

Tipo: pdf-get-words  ·  Paquete: PDF Activities v1.1.0  ·  Salida: List

Extrae todas las palabras del PDF junto con su página y su caja delimitadora (posición y tamaño). Es la versión “con posición” de PDF Get Text: en vez de un bloque de texto, te dice dónde está cada palabra dentro de la página.

Recorre las páginas indicadas y devuelve una lista plana de palabras (no agrupadas por página ni por línea): cada elemento lleva su propio número de página.

Las coordenadas usan origen arriba-izquierda — el mismo que las imágenes y el OCR. Así, las palabras que devuelve esta actividad y las líneas que devuelve OCR Get Lines hablan el mismo idioma, y puedes localizar un valor en la página venga de donde venga.

Por defecto las coordenadas salen en puntos PDF (un punto es 1/72 de pulgada). Si indicas dpi, salen en píxeles de un render a esa resolución: eso hace que cuadren con los archivos que genera PDF To Images al mismo dpi, y puedes recortar o dibujar sobre la imagen usando estas coordenadas directamente.

ParámetroEditorDescripción
pathexpresiónRuta del archivo PDF.
ParámetroEditorDescripción
pagesexpresiónPáginas a leer: "all" (def.) o un rango como "1-3,5,7-9".
dpiexpresiónSi lo indicas, devuelve las coordenadas en píxeles de un render a esa resolución (cuadran con PDF To Images al mismo DPI). Si lo omites, en puntos PDF. Entre 36 y 1200.

Devuelve una List de palabras. Cada palabra tiene:

ClaveQué es
textLa palabra.
pageNúmero de página (desde 1).
xDistancia desde el borde izquierdo de la página.
yDistancia desde el borde superior de la página.
widthAncho de la palabra.
heightAlto de la palabra.

Renderizar el PDF y extraer las palabras con coordenadas que casan con las imágenes:

PDF To Images path = = rutaFactura outputDir = "C:/temp/paginas" dpi = 200 → output: imagenes
PDF Get Words path = = rutaFactura dpi = 200 → output: palabras
Log message = = "Palabras: " + count(palabras)

Localizar dónde aparece un valor en la página:

PDF Get Words path = = ruta pages = "1" → output: palabras
For Each collection = = palabras itemVariable = palabra
└─ activities:
If condition = = palabra["text"] == "TOTAL"
└─ then:
Log message = = "TOTAL está en x=" + palabra["x"] + " y=" + palabra["y"]