Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

206
Views
NodeJS - Límite recto / coordenada / desplazamiento (en px) para cada palabra de un contenido de texto HTML

Estoy tratando de obtener el delimitadorRect de cada palabra en un HTML.

Por ejemplo,

 <html><body>Lorem ipsum dolor</body></html>

Quiero la salida como [x, y, ancho, alto] - palabra

 [ 8, 8, 44.671875, 19 ] - Lorem [ 56.5, 8, 43.125, 19 ] - ipsum [ 103.4, 8, 35.02, 19 ] - dolor

Estoy usando Chrome DevTools Protocol (CDP) para obtener DOMSnapshot que proporciona el límite recto para una línea como un todo y no para palabras individuales. ( mi-código-fuente )

 [ 8, 8, 130.46875, 19 ] Lorem ipsum dolor

Si envuelvo cada palabra en el HTML con una etiqueta de intervalo, Chromium proporciona el resultado deseado. Pero esta solución parece hacky. ¿Hay una mejor manera de hacer esto?

Nota:

  1. El contenido del texto puede tener estilos y fuentes asociadas. Por lo tanto, el ancho precalculado para cada carácter no es una opción.
  2. Puedo rasterizar la página a un PDF usando CDP y obtener un iterador de palabras con Foxit o bibliotecas similares. Pero prefiero hacer las cosas completamente con NodeJS.
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

CDP maneja los nodos . En el ejemplo que ha dado, tenemos un nodo de texto como elemento secundario del nodo del cuerpo. el valor del nodo de texto es "Lorem ipsum dolor". Sin embargo, si tenemos el siguiente HTML:

 <html> <body> <a>Lorem<a> " " <b>ipsum</b> " " <c>dolor</c> </body> </html>

Podremos separar las palabras utilizando los diferentes nodos de texto. Técnicamente, podría buscar nodos de texto y agregar nodos adicionales para hacerlo, pero esto hará que el proceso sea mucho más pesado.

Para resumir esto, dado que en algunos casos varias palabras pueden ser el valor de un nodo de texto, no podemos obtener las coordenadas (o los rectángulos delimitadores) de cada palabra en el nodo por separado usando CDP (sin interferir mucho con la página).

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!