THotPDF.BuildLoadedPageSVG Method
Constrói um documento SVG autónomo a partir da página carregada selecionada do PDF
Declaração
function BuildLoadedPageSVG(PageIndex: Integer): AnsiString; overload;
function BuildLoadedPageSVG(PageIndex: Integer;
EmbedFonts: boolean): AnsiString; overload;
Unidade
HPDFDoc
Parâmetros
| Nome | Finalidade |
|---|---|
PageIndex | Índice de base zero da página carregada |
EmbedFonts | True escreve os glifos dos tipos de letra incorporados no SVG como contornos, para que a página tenha o mesmo aspeto onde esses tipos de letra não estão instalados. False, e a sobrecarga sem este parâmetro, deixa o texto para os tipos de letra instalados no visualizador |
Valor de retorno
Devolve o documento SVG completo, ou uma cadeia vazia quando a página não pode ser exportada
Notas de utilização
- Caminhos, texto descodificado, XObjects de imagem, imagens inline e Form XObjects recursivos são emitidos através do intérprete de dispositivo de conteúdo partilhado; um Form XObject começa com as cores em vigor onde é pintado
- A área de desenho cobre a parte visível da página, o seu
/CropBoxrecortado ao seu/MediaBox(vejaGetLoadedPageVisibleBox), rodado por/Rotate; o canto inferior esquerdo da caixa mapeia para o canto da área de desenho mesmo quando a caixa não começa na origem - O texto é escrito em UTF-8 com uma posição
xpor carácter exml:space="preserve", pelo que os espaços são mantidos; glifos de ligaduras expandem para todos os caracteres que representam, e códigos que o XML 1.0 não permite tornam-se U+FFFD - O posicionamento do texto segue a matriz de texto completa, incluindo espaçamento de caracteres e de palavras, escala horizontal, rise e ajustes
TJ; os modos de renderização 0 a 2 preenchem, traçam ou fazem ambos, o modo 3 não desenha nada, e os glifos do texto mostrado nos modos 4 a 7 tornam-se também um caminho de recorte desde o fim do objeto de texto (ET) até ao fim do estado gráfico - Por predefinição o texto usa tipos de letra instalados: as 14 famílias padrão e as suas contrapartes TrueType mapeiam para Helvetica ou Arial, Times New Roman e Courier New, e os outros tipos de letra são nomeados pela família, também com espaços entre as palavras (
MyriadPro, Myriad Pro), seguida de uma família genérica retirada das flags do descritor do tipo de letra ou do nome. Texto negrito e itálico recebefont-weightefont-styleda parte de estilo do nome do tipo de letra (Arial-BoldMT,Helvetica-Oblique,MinionPro-It) e do weight, das flags e do ângulo itálico do descritor - Com
EmbedFontsdefinido comoTrue, o texto num tipo de letra cujo programa TrueType ou CFF está incorporado no PDF é desenhado a partir dos contornos de glifos do programa. Cada glifo é definido uma vez como um<path>em<defs>e colocado com<use>onde quer que ocorra, pelo que carateres repetidos não repetem os seus contornos; os modos de preenchimento e traço, as larguras de linha e o recorte do texto seguem o texto como fazem para texto SVG. O texto em si é mantido como texto SVG transparente por cima dos contornos, de modo que ainda pode ser selecionado, pesquisado e lido por tecnologia assistiva - Tipos de letra não incorporados, programas de tipos de letra Type 1 (
/FontFile), escrita CJK vertical e sequências com um código sem glifo no programa incorporado mantêm-se como texto SVG mesmo comEmbedFontsdefinido. Os contornos tornam o ficheiro maior, frequentemente duas a três vezes em páginas com muito texto - Cores de preenchimento e traço definidas em qualquer espaço de cores (
DeviceGray,DeviceRGB,DeviceCMYK, ICCBased, calibrado, Lab, Indexed, Separation e DeviceN) são convertidas para sRGB como o renderizador de página as converte - Caminhos preenchidos com um tiling pattern são preenchidos com um SVG
<pattern>que repete a célula do pattern a cadaXStepeYStep, recortada ao seu/BBox; patterns sem cor pintam a célula na cor dada com o pattern. Caminhos preenchidos com um shading pattern recebem o gradiente ou a malha do seu sombreado, recortados ao caminho. A matriz do pattern é aplicada no espaço da página, ou do form que usa o pattern. Traços com um pattern usam a cor deste, preto nos patterns com cor - Sombreados axiais Type 2 e radiais Type 3 usam gradientes SVG com paragens amostradas limitadas; um extremo que
Extendnão estende fica por pintar, como em PDF - Sombreados de malha Type 4 a Type 7 usam um data URI PNG transparente limitado com um máximo de 16 milhões de píxeis
- As imagens inline são descodificadas pelo mesmo caminho de imagens de documentos carregados e incorporadas como data URIs PNG
- Image masks, incluindo as inline, tornam-se imagens PNG na cor de preenchimento atual, transparentes onde nada é pintado; máscaras
/SMaske stencil/Maskdão à imagem um canal alfa, à resolução da máscara quando esta é mais fina do que a imagem. Arrays/Maskde color-key tornam transparentes os píxeis correspondentes em imagens Flate, LZW e sem filtro - Caminhos de recorte
WeW*tornam-se elementos SVG<clipPath>que terminam com o estado gráfico em que foram definidos; Form XObjects são recortados ao seu/BBox, e sombreados axiais e radiais ao seu - O texto em tipos de letra Type 3 é desenhado com as glyph procedures do tipo de letra, colocadas através da sua
/FontMatrix, em vez de como texto SVG; glifos que começam comd1pintam na cor de preenchimento atual. Os glifos Type 3 não acrescentam ao caminho de recorte dos modos de renderização 4 a 7 - A cor
Backgroundde um sombreado preenche a área de um shading pattern antes do sombreado, pelo que aparece onde quer que o sombreado não pinte; como em PDF, é ignorada quando o sombreado é pintado comsh - Os sombreados Type 1 baseados em funções são amostrados ao longo do seu
Domainnum data URI PNG de até 256 por 256 amostras, colocado através daMatrixdo sombreado; o visualizador suaviza-o quando é escalado