Aspose.Diagram Operaciones de fuentes

Trabajar con fuentes

Donde Aspose.Diagram busca fuentes TrueType en Windows

Aspose.Diagram busca fuentes en elWindows\Fuentes carpeta. Esta configuración predeterminada funciona la mayor parte del tiempo, así que solo especifique sus propias carpetas de fuentes si realmente lo necesita.

Cómo especificar explícitamente una carpeta de fuentes

Aspose.Diagram API ha expuesto el método setFontDirs para elDiagram class para especificar las carpetas de fuentes como se describe a continuación.

  1. El método Diagram.setFontDirs toma una matriz de cadenas como parámetro, por lo que el desarrollador puede especificar muchos directorios de fuentes usando este enfoque.

Muestra cómo configurar Aspose.Diagram para buscar fuentes TrueType en varias carpetas al renderizar o incrustar fuentes.

Ejemplo de programación

El siguiente código de ejemplo muestra cómo configurar Aspose.Diagram para buscar fuentes TrueType en varias carpetas al renderizar o incrustar fuentes.

Reciba notificaciones de fuentes faltantes y sustitución de fuentes durante el renderizado

Aspose.Diagram API requires access to the accurate font in order to properly render the drawing to PDF format. If the required font is not available on the machine, then Aspose.Diagram API renders any instance of that font using the default font or the closest available font on the machine, since this substitution can change the look of the rendered drawing, developers may need to be notified when a font is missing and with what font it will be replaced.

Ejemplo de programación de notificación de fuentes faltantes y sustitución de fuentes

Para ser notificado de la sustitución de fuentes durante el renderizado:

  1. Cree una clase que implemente elIAdvertenciaDevolución de llamada
  2. Páselo a la propiedad PdfSaveOptions.setWarningCallback(com.aspose.diagram.IWarningCallback).

Durante el guardado del dibujo, la instancia deIAdvertenciaDevolución de llamadase llama si hay posibles problemas de fidelidad con el dibujo. En este caso, elegimos procesar solo las advertencias que son de sustitución de fuente e imprimir la advertencia en la pantalla. El siguiente ejemplo muestra cómo recibir notificaciones de sustituciones de fuentes usandoIAdvertenciaDevolución de llamada.

Java

 // load the document to render.

Diagram diagram = new Diagram("C:\\temp\\Output.vsdx");


// initialize PdfSaveOptions object

com.aspose.diagram.PdfSaveOptions saveOp = new com.aspose.diagram.PdfSaveOptions();

// create a new class implementing IWarningCallback which collect any warnings produced during drawing save.

HandleDocumentWarnings callback = new HandleDocumentWarnings();

saveOp.setWarningCallback(callback);



// pass the save options along with the save path to the save method.

diagram.save("C:\\temp\\Rendering.MissingFontNotification Out.pdf", saveOp);

Implementando IWarningCallback

El último paso es crear la clase que implementa elIAdvertenciaDevolución de llamadainterfaz. Esta clase imprimirá cualquier advertencia de sustitución de fuentes en la consola. El siguiente ejemplo muestra cómo implementar IWarningCallback para recibir una notificación de cualquier sustitución de fuente durante el guardado del documento.

Java

 public class HandleDocumentWarnings implements IWarningCallback {

     /**

     * Our callback only needs to implement the "Warning" method. This method is

     * called whenever there is a potential issue during document processing.

     * The callback can be set to listen for warnings generated during document

     * load and/or document save.

     */

     public void warning(WarningInfo info) {

         // We are only interested in fonts being substituted.

         if (info.getWarningType() == WarningType.FONT_SUBSTITUTION) {

         System.out.println("Font substitution: " + info.getDescription());

     }

 }

}