Aspose.Diagram Font Operations

Så här anger du TrueType-teckensnittsplats

Aspose.Diagram låter utvecklare ställa in teckensnittskatalogerna för rendering i Visio-diagram. Den här artikeln visar hur du använder teckensnitt från anpassade kataloger.

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 FontDirs-egenskapen förDiagram klass för att ange typsnittsmapparna enligt beskrivningen nedan.

  1. Egenskapen Diagram.FontDirs accepterar en strängmatris så utvecklaren kan ange många teckensnittskataloger med detta tillvägagångssätt.

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.WarningCallback.

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.

C#

 // The path to the documents directory.

string dataDir = RunExamples.GetDataDir_Intro();

// load the document to render.

Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");

// initialize PdfSaveOptions object

PdfSaveOptions saveOp = new PdfSaveOptions();

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

HandleDocumentWarnings callback = new HandleDocumentWarnings();

saveOp.WarningCallback = callback;

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

diagram.Save(dataDir + "NotificationofMissingFonts_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.

C#

 class HandleDocumentWarnings : 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.WarningType == WarningType.FontSubstitution)

        {

            Console.WriteLine("Font substitution: " + info.Description);

        }

    }

}