Extraer contenido de texto con NextPDF Connect (Pro)
De un vistazo
Sección titulada «De un vistazo»Permite extraer texto de un PDF existente para indexación, análisis o procesamiento posterior. La herramienta es extract_text. Se vuelve a verificar mediante el proveedor de herramientas Pro, que registra new ExtractTextTool() bajo el nombre de protocolo extract_text. extract_text es una herramienta de la edición Pro. El servidor la comprueba con class_exists() al arrancar y solo la registra cuando el paquete Pro está instalado. Admite salida de texto plano, limitación por rango de páginas y salida estructurada segmentada por páginas.
Instalación
Sección titulada «Instalación»composer require nextpdf/servercomposer require nextpdf/proEnlazar un transporte y confirmar la herramienta con diagnostic.capabilities antes de depender de ella.
Descripción conceptual
Sección titulada «Descripción conceptual»La extracción lee los operadores de presentación de texto del flujo de contenido en el orden del flujo (ISO 32000-2 §9.4). La salida refleja el orden de lectura codificado (ISO 32000-2 §9.10). Un PDF escaneado sin capa de texto produce poco texto o ninguno. Esto es una propiedad del origen, no un defecto de la herramienta. format: "plain" devuelve una única cadena. format: "structured" devuelve objetos por página con recuentos de caracteres. page_range limita las páginas procesadas.
Superficie de la API
Sección titulada «Superficie de la API»| Herramienta | Edición | Función | Nivel de riesgo |
|---|---|---|---|
extract_text | Pro | Extraer texto (plano / estructurado / rango) | Seguro |
parse_pdf | Núcleo (controlado por entorno) | Estructura de bajo nivel (recuento de páginas, metadatos) | Seguro |
Los nombres de las herramientas corresponden a los nombres de protocolo del registro. El catálogo de herramientas actúa como catálogo de referencia. Las herramientas disponibles dependen de la edición instalada.
Ejemplo de código — Inicio rápido
Sección titulada «Ejemplo de código — Inicio rápido»extract_textconsource(una ruta legible por el servidor) yformat: "plain".extract_textconpage_range: "1-3"para un subconjunto.extract_textconformat: "structured"para obtener salida segmentada por páginas.
Ejemplo de código — Producción
Sección titulada «Ejemplo de código — Producción»Usar parse_pdf (o una llamada previa sin límites a extract_text) para obtener el recuento de páginas antes de solicitar un rango. Para RAG/indexación, conviene preferir format: "structured" para fragmentar cada página de forma independiente. Si el origen está cifrado, proporcionar el parámetro de contraseña. Los recuentos de caracteres se expresan en puntos de código UTF-8, no en bytes.
Casos límite y advertencias
Sección titulada «Casos límite y advertencias»- Origen ausente. Una ruta incorrecta devuelve un error de archivo no encontrado. Usar rutas absolutas que el servidor pueda leer.
- PDF escaneado. La ausencia de capa de texto implica texto vacío o casi vacío. Aplicar OCR al origen primero.
- Página fuera de rango. Un rango más allá del documento se rechaza e indica el recuento real de páginas.
- Origen cifrado. Proporcionar el parámetro de contraseña.
- Pro ausente. Con solo el Núcleo,
extract_textno se registra. Comprobarlo condiagnostic.capabilities.
Rendimiento
Sección titulada «Rendimiento»La extracción escala según el tamaño del documento; el presupuesto contempla entradas grandes. El perfil es structural para cualquier artefacto producido, ya que esta herramienta devuelve texto, no un PDF.
Notas de seguridad
Sección titulada «Notas de seguridad»El texto extraído puede contener contenido sensible. Tratar el resultado como confidencial y devolverlo únicamente por un canal de confianza. La herramienta no escribe en el sistema de archivos. Solo lee la ruta de origen con los privilegios del servidor; por tanto, limitar las rutas que puede pasar quien la invoque.
Conformidad
Sección titulada «Conformidad»| Declaración | Especificación | Cláusula | reference_id |
|---|---|---|---|
| El texto se presenta mediante operadores de texto en orden de flujo. | ISO 32000-2 | §9.4 | |
| La extracción refleja el orden de lectura codificado. | ISO 32000-2 | §9.10 |
Esta receta no afirma que el texto extraído sea un orden lógico de lectura fiel para un documento sin etiquetar. El orden corresponde al orden codificado.
Contexto comercial
Sección titulada «Contexto comercial»extract_text es una herramienta de la edición Pro, registrada únicamente cuando el paquete Pro se resuelve al arrancar el servidor.
Disponibilidad por transporte
Sección titulada «Disponibilidad por transporte»| Transporte | Disponible | Notas |
|---|---|---|
| MCP (stdio) | Sí (Pro) | El texto extenso aumenta el tamaño del frame de stdio. |
| REST | Sí (Pro) | Transmitir en streaming los resultados extensos cuando se admita. |
| gRPC | Sí (Pro) | Se aplican límites de tamaño de mensaje al texto extenso. |
Nivel de riesgo HITL
Sección titulada «Nivel de riesgo HITL»extract_text es Seguro (de solo lectura, sin efectos secundarios) y nunca exige confirmación.
Envoltorio JSON de la puerta de confirmación
Sección titulada «Envoltorio JSON de la puerta de confirmación»La extracción de solo lectura nunca exige confirmación:
{ "allowed": true }