Função HPDFCreateXPSDocumentHandler
function HPDFCreateXPSDocumentHandler: IHPDFDocumentHandler;
Cria o manipulador opcional de páginas fixas XPS e OpenXPS com texto Glyphs ordenado e conversão Path vetorial nativa
O importador de paths aceita geometria abreviada com limites, regras de preenchimento F0 e F1, preenchimentos e traços sólidos ARGB e RGB em atributos ou elementos de propriedade, valores LinearGradientBrush multicoloridos e RadialGradientBrush elípticos em elementos de propriedade, alfa uniforme de stop, opacidade de brush e de path, mapeamento de gradiente relativo aos limites e absoluto, largura de traço e valores RenderTransform de seis parâmetros
Preenchimentos ImageBrush de pacote JPEG, PNG, TIFF e JPEG XR suportam os modos de tiling None, Tile, FlipX, FlipY e FlipXY, mapeamento absoluto ou RelativeToBoundingBox Viewbox e Viewport, clipping nativo de path e de placement, atributos Transform finitos de seis parâmetros ou elementos ImageBrush.Transform MatrixTransform em coordenadas locais do brush, opacidade de brush e de path, alfa de soft mask PNG, dimensionamento intrínseco consciente de DPI e um cache de recursos decodificados por conversão
Brushes de imagem repetidos usam padrões de tiling de imagem PDF nativos com um, dois ou quatro placements com clip para células comuns ou refletidas, enquanto um único XObject de imagem e a sua soft mask permanecem compartilhados; as matrizes de padrão concatenam as transformações de página fixa, de path e de brush sem alterar a geometria vetorial do path
Path.OpacityMask aceita gradiente sólido, linear multicolorido ou radial elíptico, e máscaras PNG ImageBrush com placement comum, com tiling ou refletido; o alfa uniforme é incorporado aos estados existentes de preenchimento e traço, enquanto o alfa variável usa transparency groups DeviceGray nativos com limites que reutilizam shading patterns e streams de soft mask de imagem
VisualBrush aceita visuais Canvas, Path e Glyphs inline ou apoiados em recursos, resolve valores StaticResource por meio de escopos ResourceDictionary aninhados e remotos e mapeia um Viewbox absoluto em um RelativeToBoundingBox ou Viewport absoluto
Cada visual distinto é compilado uma única vez em um Form XObject PDF reutilizável com os seus recursos necessários de fonte, XObject, padrão, estado de gráficos e espaço de cor; o placement comum executa o Form diretamente, enquanto Tile, FlipX, FlipY e FlipXY usam padrões de tiling nativos com limites em vez de expandir os comandos de desenho do visual por célula
As transformações e a opacidade de visual, de brush e do path que os contém compõem nos seus próprios espaços de coordenadas, enquanto recursos recursivos, mapeamentos malformados, conteúdo aninhado sem suporte e orçamentos excedidos de profundidade, conteúdo, cache ou placement falham de forma fechada antes que um Form parcial seja publicado
Canvas.Clip aceita geometria abreviada, valores StaticResource PathGeometry locais ou remotos e elementos de propriedade direta contendo segmentos PathFigure estruturados com limites de linha, polilinha, Bézier, quadrática ou arco; as transformações de geometria e as regras de preenchimento EvenOdd ou NonZero compõem com a transformação do Canvas antes do clipping W* ou W nativo do PDF
Clips de Canvas aninhados retêm a sua interseção de estado de gráficos do PDF, restringem as anotações de link descendentes aos limites ativos do clip transformado, tratam geometria vazia como um clip vazio sem diagnóstico, limitam a geometria analisada a 100.000 valores numéricos e falham de forma fechada antes da pintura dos filhos quando a geometria ou a sua matriz efetiva é malformada ou singular
Opacidade Opacity de Canvas e valores Canvas.OpacityMask de imagem sólida, de gradiente linear, de gradiente radial ou PNG capturam os descendentes em um Form XObject DeviceRGB isolado, para que filhos sobrepostos sejam compostos antes que o alfa do grupo seja aplicado; o alfa uniforme de máscara é incorporado ao estado desse grupo, enquanto o alfa espacialmente variável reutiliza recursos nativos de soft mask com limites
Grupos de Canvas aninhados preservam as suas próprias transformações, clips, recursos transferidos de fonte, XObject, padrão, estado de gráficos e espaço de cor, além de links com clip; a conversão admite no máximo 4.096 Forms de grupo de Canvas e 16 MiB de comandos capturados por grupo, e rejeita máscaras duplicadas, sem suporte, malformadas, singulares ou excessivamente grandes antes de publicar recursos parciais ou inalcançáveis
Glyphs analisa no máximo 65.536 mapeamentos Indices estritos, preserva contagens de unidades de código e de glifos por cluster, advances explícitos em centésimos de em, offsets horizontais e verticais, progressão reversa BidiLevel ímpar, brushes de atributo sólido ou de propriedade Glyphs.Fill, opacidade e extração Unicode, agrupa mapeamentos simples em arrays TJ nativos do PDF e falha de forma fechada em entrada malformada ou sem limites
Recursos FontUri de pacote aceitam programas TrueType e OpenType, fragmentos de membros TTC e fontes XPS ofuscadas por GUID, preservam valores GlyphIndex diretos ou glifos derivados de cmap, reutilizam bytes de fonte entre execuções, respeitam permissões de embedding e de no-subsetting e publicam mapas ToUnicode com consciência de cluster
FixedPage.NavigateUri sobre visuais Path e Glyphs transformados cria anotações de link PDF nativas cujos limites de clique seguem a geometria do path ou as métricas dos glifos; links HTTP, HTTPS e de e-mail viram ações URI, enquanto referências de página relativas ao pacote e fragmentos LinkTarget decodificados por percentual viram ações GoTo para frente ou para trás depois que todas as páginas são criadas
Um FixedPage.NavigateUri de Canvas é herdado pelos visuais descendentes Path, Glyphs e Canvas aninhados até que um descendente o sobrescreva; cada anotação retém os limites e a transformação do seu visual, clips de Canvas ativos restringem as regiões de clique herdadas, escopos aninhados restauram o destino externo, grupos de opacidade isolados preservam anotações e a captura reutilizável VisualBrush permanece não interativa
A navegação aceita no máximo 65.536 links e 8.192 caracteres por URI, verifica cancelamento durante a publicação, suprime anotações enquanto conteúdo VisualBrush reutilizável é capturado e falha de forma fechada em caracteres de controle, esquemas inseguros, destinos ausentes ou incompatibilidades de página e fragmento
RelativeTransform não padrão sem suporte, recursos de matriz não resolvidos, espalhamento de gradiente Repeat ou Reflect, interpolação não sRGB, alfa de stop variável em brushes de pintura, eixos degenerados, conversão de cores, traços de imagem, viewboxes VisualBrush relativos, simulação de estilo, glifos laterais e propriedades avançadas de traço permanecem diagnósticos explícitos