Enterprise edición
Licenciamiento
De un vistazo
Sección titulada «De un vistazo»NextPDF Enterprise resuelve la licencia en un derecho de uso en tiempo de ejecución: un nivel de edición, un conjunto de capacidades y una decisión de marca. Una licencia de pago que ha caducado sigue ejecutándose bajo una garantía de reserva perpetua; solo se detienen las actualizaciones y el soporte. Esta página describe el comportamiento observable desde fuera de la superficie de licenciamiento, las restricciones de capacidad y de característica, y el contrato opcional de activación en línea.
Disponibilidad y licenciamiento
Sección titulada «Disponibilidad y licenciamiento»Esta capacidad se incluye en NextPDF Enterprise (nextpdf/enterprise) y se activa con un sobre de licencia de nivel Enterprise. Un despliegue sin ese derecho de uso no carga las clases de la capacidad. Comparar ediciones y obtener una licencia.
El licenciamiento es la superficie base de Enterprise: resuelve todas las demás capacidades, por lo que siempre está presente una vez instalado el paquete Enterprise. Las características posteriores individuales se restringen mediante códigos de capacidad: capacidades del nivel de edición y paquetes adicionales que caducan de forma independiente. La restricción informa de la edición activa, la validez, el estado del periodo de gracia y el conjunto de paquetes activos.
Descripción conceptual
Sección titulada «Descripción conceptual»La superficie de licenciamiento tiene una sola tarea: convertir una licencia en una decisión sobre la que una aplicación anfitriona pueda actuar. Produce un resultado de derecho de uso inmutable con cinco campos que importan en tiempo de ejecución: el nivel de edición, el canal (de pago o de evaluación), el modo de marca, si la versión instalada puede ejecutarse y si las actualizaciones y el soporte están incluidos en el derecho de uso.
Las ediciones forman una jerarquía estricta: Enterprise incluye Pro, Pro incluye Core. Por tanto, una comprobación de capacidad tiene éxito cuando la edición licenciada está en el nivel mínimo de la capacidad o por encima. Algunas capacidades no están ligadas a ninguna edición en absoluto: pertenecen a paquetes adicionales que llevan su propia caducidad, independiente del plazo de la licencia base.
La decisión de derecho de uso distingue cinco estados discretos. Una licencia activa tiene acceso completo. Una licencia de pago que ha superado su plazo pero está dentro de su ventana de gracia mantiene el acceso completo y muestra una advertencia de renovación próxima. Una licencia de pago que ha superado su ventana de gracia entra en reserva perpetua: la versión instalada sigue ejecutándose indefinidamente, pero las actualizaciones y el soporte ya no están incluidos en el derecho de uso. Una licencia de evaluación se comporta de forma distinta: cuando caduca, el tiempo de ejecución queda restringido, porque la evaluación tiene un plazo limitado por diseño. Cuando no hay ninguna licencia presente, el anfitrión se resuelve en un estado de fallo cerrado y cualquier salida se marca visualmente para que un despliegue sin licencia nunca se confunda con uno de pago.
Un recuento contractual de puestos no se aplica en tiempo de ejecución. No hay telemetría ni ninguna comunicación obligatoria con el servidor para el funcionamiento ordinario. El cliente en línea opcional existe únicamente para la activación explícita, las comprobaciones de renovación y los latidos de mejor esfuerzo, y un anfitrión que nunca lo invoque sigue recibiendo una decisión de derecho de uso completa a partir de una licencia suministrada localmente.
El modo de prueba es una directiva separada y más restringida. Cuando una licencia se marca como de prueba, limita el rendimiento de procesamiento y aplica una marca de agua de evaluación a la salida generada, de modo que el trabajo de producción en volumen requiere una licencia de pago. La caducidad de la prueba se aplica de forma estricta, sin periodo de gracia.
Por qué funciona así
Sección titulada «Por qué funciona así»La decisión que soporta todo el peso es que una licencia de pago nunca deshabilita el tiempo de ejecución instalado. Cuando finaliza un plazo de pago, el derecho de uso pasa a EntitlementStatus::PerpetualFallback: la versión instalada sigue ejecutándose y solo se revocan las actualizaciones futuras y el soporte. Esa garantía se sostiene porque el derecho de uso es una decisión puramente en memoria sobre una licencia suministrada localmente, de modo que ninguna comunicación con el servidor ni ninguna caída de red puede arrebatarle a un cliente un tiempo de ejecución de pago. El contrapeso son los valores por defecto de fallo cerrado: una licencia ausente o una evaluación caducada se resuelve en el nivel Core y establece brandingMode en una marca de agua de evaluación. Así, un despliegue sin licencia nunca se confunde silenciosamente con uno de pago. Reserva perpetua para lo que compró, fallo cerrado para lo que no: ese emparejamiento es lo que mantiene el licenciamiento apto sin conexión sin convertirse en un sistema basado en la confianza.
Contexto de diseño: Núcleo abierto, sin dependencia forzada.
Superficie pública de la API
Sección titulada «Superficie pública de la API»composer require nextpdf/enterprise:^3Los puntos de integración admitidos son el evaluador de derechos de uso (de licencia a resultado de derecho de uso), la restricción de características en tiempo de ejecución (isFeatureEnabled, requireFeature, hasCapability, requireCapability, isInGracePeriod, currentEdition, getActivePacks, trialPolicy), el registro de capacidades (resolución de ruta a capacidad y el conjunto de capacidades disponibles) y el cliente de licencia opcional (activate, checkRenewal, heartbeat). Trate el evaluador de derechos de uso como la única autoridad para las decisiones derivadas de la licencia; no haga ramificaciones directamente sobre los campos en bruto de la licencia.
Ejemplo de código — Inicio rápido
Sección titulada «Ejemplo de código — Inicio rápido»use NextPDF\Enterprise\Licensing\EntitlementEvaluator;
$result = (new EntitlementEvaluator())->evaluate($license);
if (! $result->runtimeAllowed) { // No license, or an expired evaluation license. throw new RuntimeException($result->warningMessage ?? 'Enterprise runtime disabled.');}
// Perpetual fallback: still allowed to run; updates/support may be off.$canUpdate = $result->updateEntitled;$watermark = $result->shouldApplyEvaluationBranding();Ejemplo de código — Producción
Sección titulada «Ejemplo de código — Producción»use NextPDF\Enterprise\Licensing\CapabilityCode;use NextPDF\Enterprise\Licensing\FeatureGate;
final class ReportController{ public function __construct(private readonly FeatureGate $gate) {}
public function generate(): Response { // Throws a structured 403-style exception carrying the required // capability, the required pack, the current packs, and an // upgrade-info URL — usable as an upsell touchpoint. $this->gate->requireCapability(CapabilityCode::EnterpriseComplianceEvidence);
if ($this->gate->isInGracePeriod()) { $this->logger->notice('Enterprise license in grace period — renewal due.'); }
return $this->renderReport(); }}Casos límite y aspectos a tener en cuenta
Sección titulada «Casos límite y aspectos a tener en cuenta»- La reserva perpetua no es un periodo de gracia. La gracia mantiene activas las actualizaciones y el soporte; la reserva mantiene activo únicamente el tiempo de ejecución. Ambas mantienen en funcionamiento la versión instalada para las licencias de pago.
- La caducidad de la evaluación restringe el tiempo de ejecución. A diferencia de una licencia de pago, una licencia de evaluación caducada detiene el tiempo de ejecución y conserva la marca de agua de evaluación.
- La ausencia de licencia falla de forma cerrada. Sin ninguna licencia configurada, el derecho de uso es «sin licencia», el tiempo de ejecución queda deshabilitado para las rutas de Enterprise y la salida emitida lleva una marca de agua para que el estado sea visible en los registros y los artefactos.
- La caducidad de los paquetes es independiente. Un paquete adicional puede caducar mientras la licencia base sigue activa; la capacidad que concedía falla entonces con un resultado distinto de «paquete caducado», separado de «sin licencia».
- La denegación de capacidad es estructurada. Una capacidad denegada lleva la capacidad requerida, el paquete requerido (si lo hay), los paquetes actuales y una URL de información de actualización; muéstrelos al usuario en lugar de un error escueto.
Rendimiento
Sección titulada «Rendimiento»La evaluación de derechos de uso y las comprobaciones de capacidad son operaciones en memoria de tiempo constante sobre una licencia analizada, sin E/S en la ruta de la petición. El cliente en línea opcional realiza llamadas de red únicamente en la activación explícita, las comprobaciones de renovación y los latidos; los fallos de latido no son fatales y nunca bloquean el procesamiento.
Notas de seguridad
Sección titulada «Notas de seguridad»Esta página describe deliberadamente solo el comportamiento observable. La verificación del sobre de licencia, la comprobación de la firma, la lógica antiabuso y la ubicación del código de aplicación quedan fuera de alcance y no se documentan en la superficie pública. Los operadores interactúan con el contrato del paquete público y el comportamiento documentado. El contrato de activación en línea utiliza un sobre de respuesta firmado y un nonce suministrado por el cliente, de modo que un anfitrión puede detectar una respuesta de activación reproducida o manipulada; el procedimiento de verificación exacto no forma parte del contrato público.
Conformidad
Sección titulada «Conformidad»- La respuesta de activación en línea se transporta en un sobre firmado de estilo JWS —un triple de cabecera protegida / carga útil / firma en la forma compacta y segura para URL descrita en RFC 7515 (JSON Web Signature), §3.1—.
- El material de firma es base64url, decodificado según RFC 7515 §5.2.
- El JSON canónico para la integridad del sobre sigue el JSON Canonicalization Scheme, RFC 8785, §3.
- La firma de activación es una firma Ed25519 verificada frente a una clave pública de 32 bytes, según RFC 8032 (EdDSA), §5.1.
- Los tokens de servicio de corta duración usados entre componentes llevan las reivindicaciones registradas
iss,aud,sub,expyjti, y respetan la regla de no-posterioridad deexpde RFC 7519 (JWT), §4.1.4.
Contrato de comportamiento
Sección titulada «Contrato de comportamiento»- La evaluación de derechos de uso produce un resultado inmutable con un conjunto fijo de campos relevantes en tiempo de ejecución (nivel de edición, canal, modo de marca, tiempo de ejecución permitido, actualización/soporte incluidos en el derecho de uso).
- Una licencia de pago nunca deshabilita el tiempo de ejecución instalado: la caducidad la mueve a través de la gracia y luego a la reserva perpetua, revocando únicamente las actualizaciones y el soporte.
- Una licencia de evaluación caducada restringe el tiempo de ejecución y conserva la marca de agua de evaluación; la caducidad de la prueba se aplica de forma estricta y sin periodo de gracia.
- El estado «sin licencia» es de fallo cerrado para las rutas de Enterprise, y la salida emitida lleva una marca de agua para que un despliegue sin licencia nunca se confunda con uno de pago.
- La denegación de capacidad es estructurada: lleva la capacidad requerida, el paquete requerido (si lo hay), los paquetes activos y una URL de información de actualización.
- Las comprobaciones de derechos de uso y de capacidad son operaciones en memoria de tiempo constante sin E/S en la ruta de la petición.
Frontera de publicación
Sección titulada «Frontera de publicación»Esta página documenta únicamente el comportamiento observable desde fuera y la superficie pública de la API admitida. Las rutas internas de espacio de nombres, las clases auxiliares, las tablas de mecanismos, los nombres de archivo de runbook y los prefijos de ticket quedan fuera de alcance.
Alternativa de Core
Sección titulada «Alternativa de Core»NextPDF Core (Apache-2.0) no tiene ninguna superficie de derecho de uso de edición o capacidad: ni restricción de características, ni evaluador de derechos de uso, ni cliente de licencia. Un anfitrión que necesite el comportamiento Apache-2.0 sin licencia usa el motor de Core directamente en lugar del pipeline de Enterprise. Core no restringe, no aplica marca de agua por licencia ni evalúa derechos de uso.
Alternativa de Pro
Sección titulada «Alternativa de Pro»NextPDF Pro tampoco tiene ninguna superficie de derecho de uso —ninguna; esta capacidad no tiene equivalente en el nivel Pro—. Las licencias, el registro de capacidades, la restricción de características y el contrato de activación se incluyen únicamente en el paquete nextpdf/enterprise.
Nota sobre la frontera de Enterprise
Sección titulada «Nota sobre la frontera de Enterprise»El procedimiento de verificación del sobre de licencia, la implementación de la comprobación de la firma, la lógica antiabuso y la ubicación del código de aplicación se describen únicamente a nivel de comportamiento y no se reproducen en la superficie pública. El contrato de activación en línea se documenta como un sobre de respuesta firmado con un nonce suministrado por el cliente; el procedimiento de verificación exacto no forma parte del contrato público.
Frontera de despliegue
Sección titulada «Frontera de despliegue»NextPDF Enterprise resuelve el derecho de uso a partir de una licencia suministrada localmente, sin ninguna comunicación obligatoria con el servidor para el funcionamiento ordinario. El cliente en línea opcional realiza llamadas de red únicamente en la activación explícita, las comprobaciones de renovación y los latidos de mejor esfuerzo; los fallos de latido no son fatales y nunca bloquean el procesamiento. El operador es dueño del aprovisionamiento de la licencia, de la configuración de activación/renovación y de la directiva de transporte para el cliente en línea opcional. NextPDF Enterprise no aplica un recuento contractual de puestos en tiempo de ejecución.
Frontera de cumplimiento legal
Sección titulada «Frontera de cumplimiento legal»Los términos de capacidad y de puestos se rigen por su contrato de licencia, no por una aplicación en tiempo de ejecución. Esta documentación no es una opinión legal; consulte a sus propios asesores de cumplimiento y legales para conocer sus obligaciones contractuales y normativas.