Método THotPDF.BuildLoadedPageSVG
Construye un documento SVG independiente a partir de la página PDF cargada seleccionada
Declaración
function BuildLoadedPageSVG(PageIndex: Integer): AnsiString; overload;
function BuildLoadedPageSVG(PageIndex: Integer;
EmbedFonts: boolean): AnsiString; overload;
Unidad
HPDFDoc
Parámetros
| Nombre | Propósito |
|---|---|
PageIndex | Índice basado en cero de la página cargada |
EmbedFonts | True escribe los glifos de las fuentes incrustadas en el SVG como contornos, de modo que la página se ve igual donde esas fuentes no están instaladas. False, y la sobrecarga sin este parámetro, dejan el texto a las fuentes instaladas del viewer |
Valor de retorno
Devuelve el documento SVG completo, o una cadena vacía cuando la página no puede exportarse
Notas de uso
- Trazados, texto decodificado, XObjects de imagen, imágenes inline y Form XObjects recursivos se emiten a través del intérprete de dispositivo de contenido compartido; un Form XObject arranca con los colores vigentes donde se pinta
- El lienzo cubre la parte visible de la página, su
/CropBoxrecortado a su/MediaBox(véaseGetLoadedPageVisibleBox), girado por/Rotate; la esquina inferior izquierda de la caja se mapea a la esquina del lienzo aunque la caja no empiece en el origen - El texto se escribe como UTF-8 con una posición
xpor carácter yxml:space="preserve", así que se conservan los espacios; los glifos de ligadura se expanden a todos los caracteres que representan, y los códigos que XML 1.0 no permite se convierten en U+FFFD - La colocación del texto sigue la matriz de texto completa, incluidos espaciado de carácter y de palabra, escala horizontal, rise y ajustes
TJ; los modos de render 0 a 2 rellenan, trazan o hacen ambas cosas, el modo 3 no dibuja nada, y los glifos del texto mostrado en los modos 4 a 7 se convierten además en un trazado de recorte desde el final del objeto de texto (ET) hasta el final del estado de gráficos - Por defecto el texto usa fuentes instaladas: las 14 familias estándar y sus equivalentes TrueType se mapean a Helvetica o Arial, Times New Roman y Courier New, y las demás fuentes se nombran por su familia, también con los espacios entre sus palabras (
MyriadPro, Myriad Pro), seguida de una familia genérica tomada de los flags del descriptor de fuente o del nombre. El texto en negrita y cursiva obtienefont-weightyfont-stylede la parte de estilo del nombre de la fuente (Arial-BoldMT,Helvetica-Oblique,MinionPro-It) y del weight, los flags y el ángulo itálico del descriptor de fuente - Con
EmbedFontsaTrue, el texto en una fuente cuyo programa TrueType o CFF está incrustado en el PDF se dibuja a partir de los contornos de glifos del programa. Cada glifo se define una vez como un<path>en<defs>y se coloca con<use>dondequiera que aparezca, así que los caracteres repetidos no repiten sus contornos; los modos de relleno y trazo, los anchos de línea y el recorte del texto siguen al texto igual que en texto SVG. El texto en sí se conserva como texto SVG transparente sobre los contornos, de modo que sigue siendo seleccionable, buscable y legible por tecnología de asistencia - Las fuentes no incrustadas, los programas de fuente Type 1 (
/FontFile), la escritura CJK vertical y los runs con un código sin glifo en el programa incrustado siguen siendo texto SVG incluso conEmbedFonts. Los contornos hacen el archivo más grande, a menudo de dos a tres veces en páginas con mucho texto - Los colores de relleno y trazo fijados en cualquier espacio de color (
DeviceGray,DeviceRGB,DeviceCMYK, ICCBased, calibrados, Lab, Indexed, Separation y DeviceN) se convierten a sRGB tal como los convierte el renderer de página - Los trazados rellenados con un patrón de mosaico se rellenan con un
<pattern>SVG que repite la celda del patrón cadaXStepyYStep, recortado a su/BBox; los patrones sin color pintan la celda en el color dado con el patrón. Los trazados rellenados con un patrón de sombreado obtienen el degradado o la malla de su sombreado, recortados al trazado. La matriz del patrón se aplica en el espacio de la página, o de la Form que usa el patrón. Los trazos con un patrón usan su color, negro para los patrones con color - Los sombreados axiales Type 2 y radiales Type 3 usan degradados SVG con paradas muestreadas acotadas; un extremo que
Extendno extiende queda sin pintar, como en PDF - Los sombreados de malla Type 4 a Type 7 usan un data URI PNG transparente acotado con un máximo de 16 millones de píxeles
- Las imágenes inline se decodifican por la misma ruta de imágenes de documentos cargados y se incrustan como data URIs PNG
- Las máscaras de imagen, incluidas las inline, se convierten en imágenes PNG en el color de relleno vigente que son transparentes donde no se pinta nada; los stencils
/SMasky/Maskdan a la imagen un canal alfa, a la resolución de la máscara cuando esta es más fina que la imagen. Los arrays/Maskde clave de color hacen transparentes los píxeles coincidentes en imágenes Flate, LZW y sin filtrar - Los trazados de recorte
WyW*se convierten en elementos SVG<clipPath>que terminan con el estado de gráficos en el que se fijaron; los Form XObjects se recortan a su/BBox, y los sombreados axiales y radiales al suyo - El texto en fuentes Type 3 se dibuja con los procedimientos de glifos de la fuente, colocados mediante su
/FontMatrix, en lugar de como texto SVG; los glifos que empiezan cond1pintan en el color de relleno vigente. Los glifos Type 3 no se añaden al trazado de recorte de los modos de render 4 a 7 - El color
Backgroundde un sombreado rellena el área de un patrón de sombreado antes del sombreado, así que se ve dondequiera que el sombreado no pinta; como en PDF, se ignora cuando el sombreado se pinta consh - Los sombreados Type 1 basados en función se muestrean sobre su
Domainen un data URI PNG de hasta 256 por 256 muestras, colocado mediante laMatrixdel sombreado; el viewer lo suaviza al escalarlo