ForHosting KIT · Documentos y PDF

Extraiga texto de páginas PDF y únalo en orden

Dos textos de página, un informe trimestral y su anexo, se convierten en un solo documento con el separador --- PAGE BREAK --- entre ambos, en el orden en que los envió y sin reescribir nada. Útil tras un lector de texto o un OCR. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto

Convierta bloques de texto separados por página en una sola cadena predecible sin perder los límites del documento. Envíe el texto ya extraído de cada página, respetando su orden, y la capacidad insertará un marcador claro entre ellas. No realiza OCR ni descarga o analiza archivos PDF. Se ocupa del paso final de ensamblaje para procesos que ya generan un bloque por página y necesitan una salida estable, consultable o exportable.

Prepare los bloques en orden

Envíe un array pages con al menos un objeto y coloque el texto extraído de cada página PDF en su campo text. La posición del array determina el orden: el primer registro corresponde a la primera página, el segundo a la segunda, y así sucesivamente. La capacidad no ordena, no deduce números de página ni examina el PDF, pues podría alterar silenciosamente el orden fijado por el extractor anterior.

Cada valor puede incluir títulos, párrafos, líneas vacías, caracteres Unicode o una cadena vacía cuando una página real carece de texto extraíble. Una página vacía se acepta y su posición queda reflejada por los marcadores contiguos. Cada entrada debe ser un objeto con un valor text de tipo string; los valores ausentes, números, arrays anidados y otras formas se rechazan.

Este formato estricto evita conversiones accidentales.

Interprete el resultado unido

El campo text conserva las cadenas originales exactamente en el orden recibido. Entre cada pareja consecutiva, el algoritmo inserta dos saltos de línea, el marcador --- PAGE BREAK --- y otros dos saltos. Salvo por esos separadores, el proceso no recorta, normaliza, redistribuye, interpreta ni reescribe el contenido.

Por tanto, mantiene espacios iniciales, saltos finales, líneas vacías repetidas, signos y escrituras no latinas. Es una decisión deliberada: el ensamblaje debe preservar la evidencia extraída. Si después necesita prosa limpia, aplique una normalización separada y explícita.

Para dividir de nuevo el documento, utilice el marcador devuelto con sus saltos de línea.

Intégrelo en un flujo de extracción

Use esta capacidad después de que un lector de capas de texto, un sistema OCR, un analizador documental o un proceso de carga haya producido un bloque por página. Resulta útil cuando el siguiente sistema espera una sola cadena, pero la revisión, la búsqueda o las citas todavía requieren límites visibles. Un índice puede unir las páginas antes de indexarlas y conservar el punto donde cambia el contexto.

Un archivo puede guardar una representación textual estable junto al documento original. Un proceso lingüístico puede recibir todo el texto sin aprender a recorrer arrays. La misma entrada siempre genera la misma salida.

La calidad final depende por completo de la extracción previa; las columnas desordenadas, los glifos ausentes o las páginas de imagen deben corregirse antes.

Preparar texto para búsquedas

Combine resultados por página en una cadena indexable y conserve límites explícitos para revisión y resaltado.

Ensamblar resultados de OCR

Una páginas reconocidas por separado para que el resumen o la clasificación reciba un documento ordenado.

Crear un acompañante de archivo

Guarde una representación textual determinista junto al PDF y mantenga visibles las transiciones de página.

¿Esta capacidad lee un archivo PDF?

No. Recibe bloques ya extraídos de páginas individuales y realiza únicamente su ensamblaje ordenado.

¿Puede una página tener una cadena vacía?

Sí. Representa una página sin texto extraído y conserva su posición original entre los límites.

¿Qué separa una página de la siguiente en el resultado?

Dos saltos de línea, el separador --- PAGE BREAK --- y otros dos saltos de línea. No se añade nada antes de la primera página ni después de la última, así que el texto empieza y termina tal como usted lo envió.

¿Limpia los espacios o los saltos de línea de mi texto?

No. Los espacios iniciales, los saltos finales, las líneas en blanco repetidas, la puntuación y las escrituras no latinas se conservan tal cual. Si quiere una prosa limpia, aplique después una normalización aparte y explícita.

¿Puedo volver a separar el texto unido en páginas?

Sí: corte por el separador junto con los saltos de línea que lo rodean. Tenga en cuenta que el mismo texto literal podría aparecer ya dentro de alguna página, así que conviene comprobarlo antes.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/pdf/extract-text

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/pdf/extract-text \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pages":[{"text":"Quarterly report\nRevenue increased by 12%."},{"text":"Appendix\nFigures are unaudited."}]}'
{
  "pages": [
    {
      "text": "Quarterly report\nRevenue increased by 12%."
    },
    {
      "text": "Appendix\nFigures are unaudited."
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "pdf.extract_text",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_mb25
max_pages200
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Prepare los bloques en orden

Puede enviar como máximo 10000 bloques por solicitud.

Interprete el resultado unido

La respuesta devuelve text, pages y page_break_marker. No añade ningún marcador antes de la primera página ni después de la última. pages indica cuántos bloques se unieron y page_break_marker permite que el código posterior descubra el delimitador.

Intégrelo en un flujo de extracción

El tratamiento es determinista y local al JSON suministrado: no usa red, aleatoriedad, hora actual, OCR ni decodificación de PDF. Las solicitudes automatizadas cuestan $0.002.

¿Qué marcador se inserta entre páginas?

Inserta --- PAGE BREAK --- rodeado por dos saltos de línea a cada lado y también lo devuelve en page_break_marker.

¿Qué ocurre si no envío páginas?

La solicitud falla con invalid_input porque se exige al menos un bloque de página.

¿Cuánto cuesta una solicitud?

Las solicitudes automatizadas usan el precio base publicado de $0.002; no existe un recargo por página.

Ver la documentación completa del KIT →