Inspeccionar el estado de diseño con NextPDF Connect
De un vistazo
Sección titulada «De un vistazo»Inspeccionar el estado de diseño de un documento durante la sesión para tomar decisiones de posicionamiento. preview_layout —comprobada de nuevo en el registro de herramientas del servidor, donde PreviewLayoutTool expone el nombre de protocolo preview_layout— es una consulta de solo lectura e idempotente. No renderiza un PDF, no avanza el cursor y se puede llamar tantas veces como sea necesario. Todas estas herramientas son Core: create_pdf, set_font, add_text, preview_layout, add_page y output_pdf.
Instalación
Sección titulada «Instalación»composer require nextpdf/serverVincular un transporte. No se requiere ningún nivel con licencia.
Descripción conceptual
Sección titulada «Descripción conceptual»preview_layout devuelve el número de páginas, la página actual, las dimensiones de la página, los márgenes y la posición del cursor: los atributos de geometría propios de la página (ISO 32000-2 §7.7.3.3). A partir de esos valores, calcular el espacio vertical restante:
remaining = page_height - bottom_margin - cursor_ySi remaining supera la altura estimada del siguiente bloque, continuar en la página actual. De lo contrario, llamar primero a add_page. Como la llamada es de solo lectura, devuelve una respuesta normal en todos los transportes (PSR-18 §p2).
Superficie de la API
Sección titulada «Superficie de la API»| Herramienta | Rol | Nivel de riesgo |
|---|---|---|
create_pdf | Abrir la sesión | Seguro |
set_font | Establecer la fuente activa | Precaución |
add_text | Escribir texto, avanzar el cursor | Precaución |
preview_layout | Leer el estado del diseño (sin mutación) | Seguro |
add_page | Añadir una página cuando se agota el espacio | Precaución |
output_pdf | Renderizar y devolver el PDF | Aprobación requerida / Revisión (base64) |
El catálogo de herramientas es la referencia. Las herramientas disponibles dependen del nivel instalado.
Ejemplo de código — Inicio rápido
Sección titulada «Ejemplo de código — Inicio rápido»create_pdf(Letter vertical) →document_id.set_font(helvetica 14).add_text×3 (párrafos justificados).preview_layout→ leerpage_dimensions,margins,cursor_position.- Calcular
remaining; si es demasiado pequeño,add_page. add_text(siguiente sección).output_pdf.
Ejemplo de código — Producción
Sección titulada «Ejemplo de código — Producción»Llamar a preview_layout antes de cualquier bloque cuyo ajuste sea incierto. Tratar el cursor devuelto como exacto para la última escritura. Si se cambiaron la fuente, los márgenes o la altura de línea desde la última add_text, escribir una sonda breve y volver a consultar antes de confiar en la posición prevista.
Casos límite y trampas
Sección titulada «Casos límite y trampas»- Cursor obsoleto tras un cambio de estilo. La posición notificada refleja la última escritura, no los cambios de estado pendientes. Volver a consultar si la precisión es importante.
- Sesión destruida.
preview_layoutfalla con undocument_iddestruido. Para inspeccionar el diseño después de la salida, establecerdestroy: falseen eloutput_pdfanterior. - Texto vacío o fuente desconocida. Se aplican los errores estándar de validación de entrada.
Rendimiento
Sección titulada «Rendimiento»preview_layout es una lectura de bajo costo. El perfil del documento generado es structural.
Notas de seguridad
Sección titulada «Notas de seguridad»La consulta es de solo lectura y no tiene efectos secundarios. Las coordenadas devueltas no son sensibles, pero deben tratarse como limitadas al ámbito de la sesión.
Conformidad
Sección titulada «Conformidad»| Declaración | Especificación | Cláusula | reference_id |
|---|---|---|---|
| Un objeto de página define sus atributos de geometría. | ISO 32000-2 | §7.7.3.3 | |
| Una consulta de solo lectura devuelve una respuesta de transporte normal. | PSR-18 | §p2 |
Contexto comercial
Sección titulada «Contexto comercial»No aplicable: todas las herramientas son Core.
Disponibilidad por transporte
Sección titulada «Disponibilidad por transporte»| Transporte | Disponible | Notas |
|---|---|---|
| MCP (stdio) | Sí | preview_layout es un tools/call. |
| REST | Sí | Operación segura de estilo GET. |
| gRPC | Sí | Unaria; idempotente. |
Nivel de riesgo HITL
Sección titulada «Nivel de riesgo HITL»preview_layout es Seguro (solo lectura) y nunca aplica un gate. create_pdf es Seguro. set_font, add_text y add_page son Precaución. output_pdf es Aprobación requerida, degradado a Revisión en modo base64 (niveles de riesgo HITL).
Envoltorio JSON del gate de confirmación
Sección titulada «Envoltorio JSON del gate de confirmación»La inspección de solo lectura nunca aplica un gate:
{ "allowed": true }