Προσαρμογή Γραμματοσειρών PowerPoint σε .NET

Επισκόπηση

Το Aspose.Slides σας επιτρέπει να χρησιμοποιείτε προσαρμοσμένες γραμματοσειρές σε παρουσιάσεις χωρίς να τις εγκαταστήσετε στο λειτουργικό σύστημα. Μπορείτε να φορτώσετε γραμματοσειρές από προσαρμοσμένους φακέλους, να παρέχετε γραμματοσειρές για συγκεκριμένη παρουσίαση μέσω πηγών γραμματοσειρών σε επίπεδο εγγράφου, ή να φορτώσετε εξωτερικές γραμματοσειρές απευθείας από δυαδικά δεδομένα.

Οι φορτωμένες γραμματοσειρές χρησιμοποιούνται όταν μια παρουσίαση αποδίδεται ή εξάγεται, π.χ. σε PDF, εικόνες και άλλες υποστηριζόμενες μορφές. Αυτό βοηθά να διατηρείται το αποτέλεσμα της παρουσίασης συνεπές σε διαφορετικά περιβάλλοντα. Το άρθρο εξηγεί επίσης πώς να εξετάσετε τους φακέλους γραμματοσειρών που χρησιμοποιεί το Aspose.Slides και πώς να εκκαθαρίσετε την κρυφή μνήμη γραμματοσειρών μετά τη χρήση εξωτερικών γραμματοσειρών.

Η καταχώρηση προσαρμοσμένων γραμματοσειρών για απόδοση είναι ξεχωριστή από την ενσωμάτωση γραμματοσειρών σε αρχείο PPTX. Εάν πρέπει μια γραμματοσειρά να αποθηκευτεί μέσα στην ίδια την παρουσίαση, χρησιμοποιήστε ρητά τις δυνατότητες ενσωμάτωσης γραμματοσειρών.

Ένα θέμα παρουσίασης μπορεί να αναφέρει διαφορετικές οικογένειες γραμματοσειρών για μεμονωμένα συστήματα γραφής. Αυτοί οι χάρτες αποθηκεύουν ονόματα γραμματοσειρών αλλά δεν εγκαθιστούν ή φορτώνουν τα αρχεία γραμματοσειρών. Δείτε Γραμματοσειρές Θέματος Κατά Σενάριο για να διαχειριστείτε τους χάρτες και χρησιμοποιήστε τις παρακάτω επιλογές φόρτωσης για να καταστήσετε διαθέσιμες τις αναφερόμενες γραμματοσειρές για συνεπή απόδοση.

Φόρτωση Προσαρμοσμένων Γραμματοσειρών

Το Aspose.Slides σας επιτρέπει να φορτώνετε τις γραμματοσειρές που χρησιμοποιούνται σε μια παρουσίαση χωρίς να τις εγκαταστήσετε στο σύστημα. Αυτό επηρεάζει το αποτέλεσμα της εξαγωγής — όπως PDF, εικόνες και άλλες υποστηριζόμενες μορφές — ώστε τα παραγόμενα έγγραφα να φαίνονται συνεπή σε διαφορετικά περιβάλλοντα. Οι γραμματοσειρές φορτώνονται από προσαρμοσμένους καταλόγους.

  1. Καθορίστε έναν ή περισσότερους φακέλους που περιέχουν τα αρχεία γραμματοσειρών.
  2. Καλέστε τη στατική μέθοδο FontsLoader.LoadExternalFonts για να φορτώσετε γραμματοσειρές από αυτούς τους φακέλους.
  3. Φορτώστε και αποδώστε/εξάγετε την παρουσίαση.
  4. Καλέστε το FontsLoader.ClearCache για να εκκαθαρίσετε την κρυφή μνήμη γραμματοσειρών.

Το παρακάτω παράδειγμα κώδικα επιδεικνύει τη διαδικασία φόρτωσης γραμματοσειρών:

using Aspose.Slides;
using Aspose.Slides.Export;

// Ορίστε φακέλους που περιέχουν προσαρμοσμένα αρχεία γραμματοσειρών.
string[] fontFolders = { @"C:\MyFonts", @"D:\Fonts" };

// Φορτώστε προσαρμοσμένες γραμματοσειρές από τους καθορισμένους φακέλους.
FontsLoader.LoadExternalFonts(fontFolders);

using Presentation presentation = new Presentation("sample.pptx");

// Αποδώστε/εξάγετε την παρουσίαση (π.χ., σε PDF, εικόνες ή άλλες μορφές) χρησιμοποιώντας τις φορτωμένες γραμματοσειρές.
presentation.Save("output.pdf", SaveFormat.Pdf);

// Εκκαθαρίστε την κρυφή μνήμη γραμματοσειρών μετά το τέλος της εργασίας.
FontsLoader.ClearCache();

Λήψη Προσαρμοσμένων Φακέλων Γραμματοσειρών

Το Aspose.Slides παρέχει τη μέθοδο GetFontFolders για να σας επιτρέψει να εντοπίσετε φακέλους γραμματοσειρών. Αυτή η μέθοδος επιστρέφει φακέλους που προστέθηκαν μέσω της μεθόδου LoadExternalFonts και τους φακέλους γραμματοσειρών του συστήματος.

Αυτός ο κώδικας C# δείχνει πώς να χρησιμοποιήσετε το GetFontFolders:

using Aspose.Slides;

// Αυτή η γραμμή εμφανίζει τους φακέλους που ελέγχονται για αρχεία γραμματοσειρών.
// Αυτοί είναι οι φάκελοι που προστέθηκαν μέσω της μεθόδου LoadExternalFonts και οι φάκελοι γραμματοσειρών του συστήματος.
string[] fontFolders = FontsLoader.GetFontFolders();

Καθορισμός Προσαρμοσμένων Γραμματοσειρών που Χρησιμοποιούνται με Μία Παρουσίαση

Το Aspose.Slides παρέχει την ιδιότητα DocumentLevelFontSources ώστε να μπορείτε να καθορίσετε εξωτερικές γραμματοσειρές που θα χρησιμοποιηθούν με την παρουσίαση.

Αυτός ο κώδικας C# δείχνει πώς να χρησιμοποιήσετε την ιδιότητα DocumentLevelFontSources:

using Aspose.Slides;

byte[] memoryFont1 = File.ReadAllBytes("customfonts\\CustomFont1.ttf");
byte[] memoryFont2 = File.ReadAllBytes("customfonts\\CustomFont2.ttf");

LoadOptions loadOptions = new LoadOptions();
loadOptions.DocumentLevelFontSources.FontFolders = new string[] { "assets\\fonts", "global\\fonts" };
loadOptions.DocumentLevelFontSources.MemoryFonts = new byte[][] { memoryFont1, memoryFont2 };
using (IPresentation presentation = new Presentation("MyPresentation.pptx", loadOptions))
{
    // Εργασία με την παρουσίαση
    // Τα CustomFont1, CustomFont2 και οι γραμματοσειρές από τους φακέλους assets\fonts & global\fonts και τους υποφακέλους τους είναι διαθέσιμες στην παρουσίαση
}

Διαχείριση Γραμματοσειρών Εξωτερικά

Το Aspose.Slides παρέχει τη μέθοδο LoadExternalFont(byte[] data) ώστε να μπορείτε να φορτώσετε εξωτερικές γραμματοσειρές από δυαδικά δεδομένα.

Αυτός ο κώδικας C# επιδεικνύει τη διαδικασία φόρτωσης γραμματοσειρών από πίνακα byte:

using Aspose.Slides;

FontsLoader.LoadExternalFont(File.ReadAllBytes("ARIALN.TTF"));
FontsLoader.LoadExternalFont(File.ReadAllBytes("ARIALNBI.TTF"));
FontsLoader.LoadExternalFont(File.ReadAllBytes("ARIALNI.TTF"));

try
{
    using (Presentation pres = new Presentation(""))
    {
        // εξωτερική γραμματοσειρά φορτωμένη κατά τη διάρκεια ζωής της παρουσίασης
    }
}
finally
{
    FontsLoader.ClearCache();
}

Δείτε Πρότιμηση Καταχωρημένων Γραμματοσειρών αντί των Ενσωματωμένων Γραμματοσειρών (.NET 26.11 ή νεότερο).

Συχνές Ερωτήσεις

Επηρεάζουν οι προσαρμοσμένες γραμματοσειρές την εξαγωγή σε όλες τις μορφές (PDF, PNG, SVG, HTML);

Ναι. Οι συνδεδεμένες γραμματοσειρές χρησιμοποιούνται από τον αποδοτικό σε όλες τις μορφές εξαγωγής.

Ενσωματώνονται αυτόματα οι προσαρμοσμένες γραμματοσειρές στο τελικό PPTX;

Όχι. Η καταχώρηση μιας γραμματοσειράς για απόδοση δεν είναι το ίδιο με την ενσωμάτωση της σε ένα PPTX. Εάν χρειάζεστε τη γραμματοσειρά να μεταφέρεται μέσα στο αρχείο παρουσίασης, πρέπει να χρησιμοποιήσετε τις ρητές δυνατότητες ενσωμάτωσης.

Μπορώ να ελέγξω τη συμπεριφορά εναλλακτικής επιλογής όταν μια προσαρμοσμένη γραμματοσειρά λείπουν ορισμένοι γλύφοι;

Ναι. Ρυθμίστε την αντικατάσταση γραμματοσειρών, τους κανόνες αντικατάστασης, και τα σετ εναλλακτικών για να ορίσετε ακριβώς ποια γραμματοσειρά θα χρησιμοποιηθεί όταν λείπει ο ζητούμενος γλύφος.

Μπορώ να χρησιμοποιήσω γραμματοσειρές σε κοντέινερ Linux/Docker χωρίς να τις εγκαταστήσω σε επίπεδο συστήματος;

Ναι. Κατευθύνετε σε δικούς σας φακέλους γραμματοσειρών ή φορτώστε γραμματοσειρές από πίνακες byte. Αυτό αφαιρεί οποιαδήποτε εξάρτηση από τους φακέλους γραμματοσειρών του συστήματος στην εικόνα του κοντέινερ.

Σημείωση για Linux/Docker: Κατά την κλήση του FontsLoader.LoadExternalFonts, βεβαιωθείτε ότι κάθε στοιχείο του πίνακα directories περιέχει μια μη κενή διαδρομή σε υπάρχον φάκελο. Εάν μια μεταβλητή περιβάλλοντος που χρησιμοποιείται για τη δημιουργία διαδρομής γραμματοσειράς είναι ακαθόριστη ή κενή, το Aspose.Slides ενδέχεται να προσπαθήσει να επιλύσει την κενή τιμή ως πλήρη διαδρομή, με αποτέλεσμα το System.ArgumentException.

Τι γίνεται με την αδειοδότηση—μπορώ να ενσωματώσω οποιαδήποτε προσαρμοσμένη γραμματοσειρά χωρίς περιορισμούς;

Είστε υπεύθυνοι για τη συμμόρφωση με την άδεια χρήσης των γραμματοσειρών. Οι όροι διαφέρουν· ορισμένες άδειες απαγορεύουν την ενσωμάτωση ή την εμπορική χρήση. Πάντα ελέγξτε τη Συμφωνία Χρήσης (EULA) της γραμματοσειράς πριν διανείμετε τα αποτελέσματα.