Fonction HPDFCreateXPSDocumentHandler

function HPDFCreateXPSDocumentHandler: IHPDFDocumentHandler;

Crée le gestionnaire optionnel de pages fixes XPS et OpenXPS avec une conversion ordonnée du texte Glyphs et des Path vectoriels natifs

L’importeur de chemins accepte une géométrie abrégée bornée, les règles de remplissage F0 et F1, les remplissages et traits ARGB et RGB pleins sous forme d’attributs ou d’éléments de propriété, les valeurs multi-arrêts LinearGradientBrush et RadialGradientBrush elliptiques sous forme d’éléments de propriété, l’alpha uniforme des arrêts, l’opacité des pinceaux et chemins, le mapping de dégradés relatif aux bornes ou absolu, la largeur de trait, et les valeurs RenderTransform à six paramètres

Les remplissages ImageBrush de paquets JPEG, PNG, TIFF et JPEG XR prennent en charge les modes de tuiles None, Tile, FlipX, FlipY et FlipXY, le mapping Viewbox et Viewport absolu ou RelativeToBoundingBox, le rognage natif de chemins et de placements, les attributs Transform finis à six paramètres ou les éléments MatrixTransform de ImageBrush.Transform en coordonnées locales du pinceau, l’opacité des pinceaux et chemins, l’alpha de soft-mask PNG, le dimensionnement intrinsèque conscient du DPI, et un cache de ressources décodées par conversion

Crée le gestionnaire facultatif de pages fixes XPS et OpenXPS

Path.OpacityMask accepte les masques pleins, dégradés linéaires multi-arrêts ou radiaux elliptiques, et ImageBrush PNG avec placement ordinaire, tuilé ou réfléchi ; l’alpha uniforme est replié dans les états de remplissage et de trait existants, tandis que l’alpha variable utilise des groupes de transparence DeviceGray natifs bornés qui réutilisent les motifs de shading et les flux de soft-mask d’images

VisualBrush accepte les visuels Canvas, Path et Glyphs en ligne ou adossés aux ressources, résout les valeurs StaticResource à travers les portées ResourceDictionary imbriquées et distantes, et mappe un Viewbox absolu vers un Viewport absolu ou RelativeToBoundingBox

Chaque visuel distinct est compilé une seule fois en un Form XObject PDF réutilisable avec ses ressources requises de police, XObject, motif, état graphique et espace colorimétrique ; le placement ordinaire exécute le Form directement, tandis que Tile, FlipX, FlipY et FlipXY utilisent des motifs de tiling natifs bornés au lieu d’étendre les commandes de dessin visuel par cellule

Les transformations et l’opacité des visuels, pinceaux et chemins conteneurs se composent dans leurs propres espaces de coordonnées, tandis que les ressources récursives, mappings malformés, contenu imbriqué non pris en charge et budgets de profondeur, contenu, cache ou placement dépassés échouent de façon fermée avant la publication d’un Form partiel

Canvas.Clip accepte une géométrie abrégée, des valeurs PathGeometry StaticResource locales ou distantes, et des éléments de propriété directs contenant des segments PathFigure structurés bornés de lignes, polylignes, Bézier, quadratiques ou arcs ; les transformations de géométrie et les règles de remplissage EvenOdd ou NonZero se composent avec la transformation du Canvas avant le rognage natif PDF W* ou W

Les rognages Canvas imbriqués retiennent leur intersection d’état graphique PDF, contraignent les annotations de lien descendants aux bornes de rognage transformées actives, traitent la géométrie vide comme un rognage vide sans diagnostic, plafonnent la géométrie analysée à 100 000 valeurs numériques, et échouent de façon fermée avant la peinture enfant lorsque la géométrie ou sa matrice effective est malformée ou singulière

Canvas Opacity et les valeurs Canvas.OpacityMask pleines, à dégradé linéaire, à dégradé radial ou image PNG capturent les descendants dans un seul Form XObject DeviceRGB isolé afin que les enfants qui se chevauchent soient composés avant l’application de l’alpha du groupe ; l’alpha uniforme du masque est replié dans cet état de groupe tandis que l’alpha spatialement variable réutilise des ressources natives de soft-mask bornées

Les groupes Canvas imbriqués préservent leurs propres transformations, rognages, ressources transférées de police, XObject, motif, état graphique et espace colorimétrique, et les liens rognés ; la conversion admet au plus 4 096 Forms de groupes Canvas et 16 Mio de commandes capturées par groupe, et rejette les masques dupliqués, non pris en charge, malformés, singuliers ou surdimensionnés avant la publication de ressources partielles ou inatteignables

Glyphs analyse au plus 65 536 mappings Indices stricts, préserve les comptes de points de code et de glyphes des amas, les avances explicites en centièmes d’em, les offsets horizontaux et verticaux, la progression inversée des BidiLevel impairs, les pinceaux pleins d’attributs ou de propriété Glyphs.Fill, l’opacité et l’extraction Unicode, regroupe les mappings simples en tableaux TJ PDF natifs, et échoue de façon fermée sur les entrées malformées ou non bornées

Les ressources de paquets FontUri acceptent les programmes TrueType et OpenType, les fragments de membres TTC et les polices XPS obfusquées par GUID, préservent les valeurs GlyphIndex directes ou les glyphes dérivés du cmap, réutilisent les octets de police entre les séquences, honorent les permissions d’embarquement et de non-sous-ensemblage, et publient des maps ToUnicode conscientes des amas

FixedPage.NavigateUri sur des visuels Path et Glyphs transformés crée des annotations de lien PDF natives dont les bornes de clic suivent la géométrie du chemin ou les métriques des glyphes ; les liens HTTP, HTTPS et mail deviennent des actions URI, tandis que les références de pages relatives au paquet et les fragments LinkTarget décodés en pourcentage deviennent des actions GoTo avant ou arrière une fois toutes les pages créées

Un FixedPage.NavigateUri de Canvas est hérité par les visuels descendants Path, Glyphs et Canvas imbriqués jusqu’à ce qu’un descendant le supplante ; chaque annotation retient les bornes et la transformation de son visuel, les rognages Canvas actifs contraignent les régions de clic héritées, les portées imbriquées restaurent la cible externe, les groupes d’opacité isolés préservent les annotations, et la capture réutilisable VisualBrush reste non interactive

La navigation admet au plus 65 536 liens et 8 192 caractères par URI, vérifie l’annulation pendant la publication, supprime les annotations pendant la capture de contenu VisualBrush réutilisable, et échoue de façon fermée face aux caractères de contrôle, schémas dangereux, cibles manquantes ou incohérences de pages et de fragments

Les RelativeTransform non standard non pris en charge, ressources de matrices non résolues, étalement de dégradés Repeat ou Reflect, interpolation non sRGB, alpha variable des arrêts dans les pinceaux de peinture, axes dégénérés, conversion de couleurs, traits d’image, viewboxes relatifs de VisualBrush, simulation de styles, glyphes latéraux et propriétés de trait avancées restent des diagnostics explicites

Gestionnaires de documents facultatifs