Aspose.Diagram Operazioni sui caratteri

Lavorare con i caratteri

Dove Aspose.Diagram cerca i caratteri TrueType su Windows

Aspose.Diagram cerca i caratteri nel fileWindows\Font cartella. Questa impostazione predefinita funziona la maggior parte delle volte, quindi specifica le tue cartelle di caratteri solo se ne hai davvero bisogno.

Come specificare in modo esplicito una cartella dei caratteri

Aspose.Diagram API ha esposto il metodo setFontDirs per ilDiagram class per specificare le cartelle dei caratteri come descritto di seguito.

  1. Il metodo Diagram.setFontDirs accetta un array di stringhe come parametro, quindi lo sviluppatore può specificare molte directory di font utilizzando questo approccio.

Illustra come impostare Aspose.Diagram per cercare in più cartelle i caratteri TrueType durante il rendering o l’incorporamento dei caratteri.

Esempio di programmazione

L’esempio di codice seguente mostra come impostare Aspose.Diagram per cercare in più cartelle i caratteri TrueType durante il rendering o l’incorporamento dei caratteri.

Ricevi notifica di caratteri mancanti e sostituzione di caratteri durante il rendering

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.

Notifica di caratteri mancanti e esempio di programmazione per la sostituzione dei caratteri

Per essere avvisati della sostituzione del carattere durante il rendering:

  1. Creare una classe che implementa ilAvvisoRichiamata
  2. Passalo alla proprietà PdfSaveOptions.setWarningCallback(com.aspose.diagram.IWarningCallback).

Durante il salvataggio del disegno l’istanza diAvvisoRichiamataviene chiamato se ci sono potenziali problemi di fedeltà con il disegno. In questo caso, scegliamo di elaborare solo gli avvisi relativi alla sostituzione dei caratteri e di stampare l’avviso sullo schermo. L’esempio seguente mostra come ricevere notifiche di sostituzioni di caratteri utilizzandoAvvisoRichiamata.

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);

Implementazione di IWarningCallback

L’ultimo passaggio consiste nel creare la classe che implementa il fileAvvisoRichiamatainterfaccia. Questa classe stamperà tutti gli avvisi di sostituzione dei caratteri nella console. L’esempio seguente mostra come implementare IWarningCallback per ricevere una notifica di qualsiasi sostituzione di font durante il salvataggio 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());

     }

 }

}