Aspose.Diagram Font Operations

Arbeta med teckensnitt

Där Aspose.Diagram letar efter TrueType-teckensnitt på Windows

Aspose.Diagram söker efter teckensnitt iWindows\Teckensnitt mapp. Den här standardinställningen fungerar för det mesta så ange bara dina egna teckensnittsmappar om du verkligen behöver det.

Hur man explicit anger en typsnittsmapp

Aspose.Diagram API:er har exponerat setFontDirs-metoden förDiagram klass för att ange typsnittsmapparna enligt beskrivningen nedan.

  1. Metoden Diagram.setFontDirs tar en strängarray som parameter, så utvecklaren kan ange många teckensnittskataloger med detta tillvägagångssätt.

Demonstrerar hur du ställer in Aspose.Diagram att leta efter TrueType-teckensnitt i flera mappar när du renderar eller bäddar in teckensnitt.

Programmeringsexempel

Kodexemplet nedan visar hur du ställer in Aspose.Diagram att leta efter TrueType-teckensnitt i flera mappar när du renderar eller bäddar in teckensnitt.

Ta emot meddelande om saknade teckensnitt och teckensnittsersättning under rendering

Aspose.Diagram API kräver åtkomst till det korrekta teckensnittet för att ritningen ska kunna återges korrekt i formatet PDF. Om det önskade teckensnittet inte är tillgängligt på maskinen, renderar Aspose.Diagram API någon instans av det teckensnittet med standardteckensnittet eller det närmaste tillgängliga teckensnittet på maskinen, eftersom denna ersättning kan ändra utseendet på den renderade ritningen, kan utvecklare behöva meddelas när ett typsnitt saknas och med vilket typsnitt det kommer att ersättas med.

Meddelande om saknade teckensnitt och teckensnittsersättningsprogrammeringsexempel

För att meddelas om teckensnittsersättning under rendering:

  1. Skapa en klass som implementerarIWarningCallback
  2. Skicka den till egenskapen PdfSaveOptions.setWarningCallback(com.aspose.diagram.IWarningCallback).

Under sparandet av ritningen instansen avIWarningCallbackanropas om det finns några potentiella trohetsproblem med ritningen. I det här fallet väljer vi att endast behandla varningar som är för teckensnittsersättning och skriva ut varningen på skärmen. Exemplet nedan visar hur du får meddelanden om teckensnittsersättningar genom att användaIWarningCallback.

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

Implementering av IWarningCallback

Det sista steget är att skapa klassen som implementerarIWarningCallbackgränssnitt. Denna klass kommer att skriva ut alla varningar om teckensnittsersättning till konsolen. Exemplet nedan visar hur man implementerar IWarningCallback för att bli meddelad om teckensnittsersättning under dokumentspara.

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

     }

 }

}