Función HPDFCreateXPSDocumentHandler

function HPDFCreateXPSDocumentHandler: IHPDFDocumentHandler;

Crea el handler opcional de páginas fijas XPS y OpenXPS con texto Glyphs ordenado y conversión nativa de Path vectoriales

El importador de Path acepta geometría abreviada acotada, reglas de relleno F0 y F1, rellenos y trazos sólidos ARGB y RGB en atributos o property-elements, valores LinearGradientBrush multi-stop y RadialGradientBrush elíptico en property-elements, alfa uniforme de stops, opacidad de pincel y trazado, mapeado de degradado relativo a bounds y absoluto, ancho de trazo y valores RenderTransform de seis parámetros

Los rellenos ImageBrush JPEG, PNG, TIFF y JPEG XR del paquete admiten modos de tile None, Tile, FlipX, FlipY y FlipXY, mapeado Viewbox y Viewport absoluto o RelativeToBoundingBox, clipping nativo de trazado y colocación, atributos Transform finitos de seis parámetros o elementos MatrixTransform de ImageBrush.Transform en coordenadas locales del pincel, opacidad de pincel y trazado, alfa soft-mask PNG, dimensionado intrínseco consciente del DPI, y una caché de recursos decodificados por conversión

Los pinceles de imagen repetidos usan patrones de tiling de imagen PDF nativos con una, dos o cuatro colocaciones recortadas para celdas ordinarias o reflejadas, mientras que un único XObject de imagen y su soft mask permanecen compartidos; las matrices de patrón concatenan las transformadas de página fija, trazado y pincel sin cambiar la geometría del trazado vectorial

El Path.OpacityMask acepta máscaras sólidas, de degradado radial lineal o elíptico multi-stop y de ImageBrush PNG con colocación ordinaria, en mosaico o reflejada; el alfa uniforme se pliega en los estados de relleno y trazo existentes, mientras que el alfa variable usa grupos de transparencia DeviceGray nativos acotados que reutilizan patrones de sombreado y streams de soft-mask de imagen

El VisualBrush acepta elementos visuales Canvas, Path y Glyphs en línea o respaldados por recursos, resuelve los valores StaticResource a través de ámbitos ResourceDictionary anidados y remotos, y mapea un Viewbox absoluto en un Viewport absoluto o RelativeToBoundingBox

Cada visual distinto se compila una vez en un Form XObject PDF reutilizable con sus recursos requeridos de fuente, XObject, patrón, estado de gráficos y espacio de color; la colocación ordinaria ejecuta el Form directamente, mientras que Tile, FlipX, FlipY y FlipXY usan patrones de tiling nativos acotados en lugar de expandir los comandos de dibujo del visual por celda

Las transformadas y la opacidad de visuales, pinceles y trazados contenedores se componen en sus propios espacios de coordenadas, mientras que los recursos recursivos, los mapeos malformados, el contenido anidado no soportado y los presupuestos de profundidad, contenido, caché o colocación excedidos fallan de forma cerrada antes de publicar un Form parcial

El Canvas.Clip acepta geometría abreviada, valores PathGeometry de StaticResource locales o remotos, y property elements directos que contienen segmentos estructurados acotados de PathFigure: línea, polilínea, Bézier, cuadráticas o arcos; las transformadas de geometría y las reglas de relleno EvenOdd o NonZero se componen con la transformada del Canvas antes del clipping PDF nativo W* o W

Los clips de Canvas anidados conservan su intersección de estado de gráficos PDF, restringen las anotaciones de enlace descendentes a los límites de clip transformados activos, tratan la geometría vacía como un clip vacío sin diagnóstico, limitan la geometría parseada a 100.000 valores numéricos, y fallan de forma cerrada antes de pintar los hijos cuando la geometría o su matriz efectiva está malformada o es singular

Los valores de Opacity del Canvas y de Canvas.OpacityMask sólido, de gradiente lineal, de gradiente radial o de imagen PNG capturan los descendientes en un Form XObject DeviceRGB aislado, de modo que los hijos solapados se componen antes de aplicar el alfa del grupo; el alfa uniforme de máscara se pliega en ese estado de grupo, mientras el alfa espacialmente variable reutiliza recursos de soft mask nativos acotados

Los grupos Canvas anidados conservan sus propias transformaciones, clips, recursos transferidos de fuente, XObject, patrón, estado de gráficos y espacio de color, y los enlaces recortados; la conversión admite como mucho 4.096 Forms de grupo Canvas y 16 MiB de comandos capturados por grupo, y rechaza máscaras duplicadas, no soportadas, malformadas, singulares o desproporcionadas antes de publicar recursos parciales o inalcanzables

Glyphs parsea como mucho 65.536 mapeos estrictos de Indices, conserva recuentos de unidades de código y de glifos por clúster, avances explícitos en centésimas de em, offsets horizontales y verticales, progresión inversa de BidiLevel impar, brushes sólidos en atributo o en propiedad Glyphs.Fill, opacidad y extracción Unicode, agrupa mapeos simples en arrays TJ PDF nativos y falla de forma cerrada ante entrada malformada o sin acotar

Los recursos FontUri del paquete aceptan programas TrueType y OpenType, fragmentos de miembros TTC y fuentes XPS ofuscadas con GUID, conservan valores GlyphIndex directos o glifos derivados de cmap, reutilizan los bytes de fuente entre runs, respetan los permisos de incrustación y de no subsetting, y publican mapas ToUnicode conscientes de los clústeres

FixedPage.NavigateUri en visuales Path y Glyphs transformados crea anotaciones de enlace PDF nativas cuyos límites de clic siguen la geometría del path o las métricas del glifo; los enlaces HTTP, HTTPS y de correo se convierten en acciones URI, mientras las referencias de página relativas al paquete y los fragmentos LinkTarget decodificados por porcentaje se convierten en acciones GoTo hacia delante o hacia atrás cuando todas las páginas están creadas

Un FixedPage.NavigateUri de Canvas lo heredan los visuales Path, Glyphs y Canvas anidados descendientes hasta que un descendiente lo sobrescribe; cada anotación conserva los límites y la transformación de su visual, los clips activos del Canvas restringen las regiones de clic heredadas, los ámbitos anidados restauran el objetivo externo, los grupos de opacidad aislados preservan las anotaciones, y la captura reutilizable mediante VisualBrush sigue siendo no interactiva

La navegación admite como mucho 65.536 enlaces y 8.192 caracteres por URI, comprueba la cancelación mientras publica, suprime anotaciones mientras se captura contenido reutilizable de VisualBrush, y falla de forma cerrada ante caracteres de control, esquemas inseguros, objetivos ausentes o desajustes de página y fragmento

El RelativeTransform no estándar no soportado, los recursos de matriz sin resolver, la propagación de gradiente Repeat o Reflect, la interpolación no sRGB, el alfa variable de stops en paint brushes, los ejes degenerados, la conversión de color, los trazos de imagen, los viewboxes relativos de VisualBrush, la simulación de estilo, los glifos sideways y las propiedades de trazo avanzadas permanecen como diagnósticos explícitos

Document Handlers opcionales