Σειρά επιλογής γραμματοσειρών στο Aspose.Slides για .NET

Επισκόπηση

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

Διαθέσιμες γραμματοσειρές μπορεί να περιλαμβάνουν γραμματοσειρές συστήματος, γραμματοσειρές που φορτώνονται από την εφαρμογή και γραμματοσειρές ενσωματωμένες στην παρουσίαση. Για μια ταιριασμένη ενσωματωμένη και καταχωρημένη γραμματοσειρά, η προτίμηση .NET 26.11 που περιγράφεται παρακάτω ελέγχει ποια έχει προτεραιότητα. Οι κανόνες αντικατάστασης γραμματοσειρών που ορίζονται μέσω FontSubstRule είναι ένας ξεχωριστός μηχανισμός.

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

Επιλογή γραμματοσειράς

Το κείμενο μπορεί να αναφέρει μια γραμματοσειρά θέματος, όπως +mn-lt, αντί για ένα ρητό όνομα οικογένειας. Δείτε Resolve Theme Font References για να λάβετε την οικογένεια που καθορίζεται από το σχετικό θέμα. Η ανάλυση αυτής της αναφοράς είναι ξεχωριστή από τον έλεγχο διαθεσιμότητας γραμματοσειρών και την εφαρμογή αντικατάστασης κατά τη διάρκεια της απόδοσης ή την αποτύπωση χαρακτήρων· δεν προσδιορίζει το αρχείο γραμματοσειράς που τελικά χρησιμοποιείται για την απόδοση του κειμένου.

Κατά την απόδοση διαφανειών ή τη μετατροπή μιας παρουσίασης, ελέγξτε ότι οι ζητούμενες γραμματοσειρές είναι ενσωματωμένες ή διαθέσιμες από καταχωρημένες πηγές. Οι ελλιπείς γραμματοσειρές μπορεί να απαιτούν αντικατάσταση ή αντικατάσταση· δείτε Font Replacement και Font Substitution.

Κατά την διερεύνηση της επιλογής γραμματοσειράς:

  1. Ανίχνευση της ζητούμενης οικογένειας και στιλ, συμπεριλαμβανομένης οποιασδήποτε αναφοράς θέματος.
  2. Έλεγχος ενσωματωμένων γραμματοσειρών και καταχωρημένων πηγών, συμπεριλαμβανομένων των γραμματοσειρών συστήματος και των γραμματοσειρών που φορτώνει η εφαρμογή. Χρησιμοποιήστε την παρακάτω προτίμηση όταν ανταγωνίζονται οι ταιριασμένες ενσωματωμένες και καταχωρημένες εκδοχές.
  3. Ανασκόπηση των font substitution rules και της εναλλακτικής αποτύπωσης χαρακτήρων εάν η ζητούμενη γραμματοσειρά ή χαρακτήρες δεν είναι διαθέσιμοι.

Το Aspose.Slides σας επιτρέπει να προσθέτετε γραμματοσειρές κατά το χρόνο εκτέλεσης της εφαρμογής και στη συνέχεια να τις χρησιμοποιείτε. Δείτε Custom fonts.

Όταν επιπλέον γραμματοσειρές τοποθετούνται μέσα σε μια παρουσίαση, ονομάζονται Embedded fonts.

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

Προτίμηση εγγεγραμμένων γραμματοσειρών έναντι ενσωματωμένων γραμματοσειρών

Από την έκδοση .NET 26.11, το IFontsManager.PreferRegisteredFontsOverEmbedded επιτρέπει σε μια ταιριαστή καταχωρημένη γραμματοσειρά να έχει προτεραιότητα έναντι μιας ενσωματωμένης γραμματοσειράς κατά την εξαγωγή. Η προεπιλογή είναι false. Η αντιστοίχιση χρησιμοποιεί το όνομα και το στιλ της γραμματοσειράς· διαφορετικό όνομα οικογένειας δεν θεωρείται αντικατάσταση. Οι καταχωρημένες γραμματοσειρές μπορούν να προέρχονται από το σύστημα ή explicitly loaded font sources.

Το παρακάτω παράδειγμα χρησιμοποιεί το πακέτο Aspose.Slides.NET6.CrossPlatform 26.11 σε .NET 8. Ακολουθήστε τον οδηγός εγκατάστασης για το περιβάλλον σας. Παρέχετε το embedded-fonts.pptx με ενσωματωμένη γραμματοσειρά και το preferred.ttf με το ίδιο όνομα οικογένειας και στιλ. Τα δύο αρχεία γραμματοσειρών πρέπει να διαφέρουν οπτικά αν θέλετε να συγκρίνετε το αποτέλεσμα.

using System.IO;
using Aspose.Slides;
using Aspose.Slides.Export;

var fontBytes = File.ReadAllBytes("preferred.ttf");
FontsLoader.LoadExternalFont(fontBytes);
using var presentation = new Presentation("embedded-fonts.pptx");

presentation.FontsManager.PreferRegisteredFontsOverEmbedded = false;
presentation.Save("embedded-preference.pdf", SaveFormat.Pdf);

presentation.FontsManager.PreferRegisteredFontsOverEmbedded = true;
presentation.Save("registered-preference.pdf", SaveFormat.Pdf);

presentation.FontsManager.PreferRegisteredFontsOverEmbedded = false;
presentation.Save("restored-preference.pdf", SaveFormat.Pdf);

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

Η έξοδος PNG και PDF με ρητά φορτωμένες κανονικές γραμματοσειρές ελέγχθηκε για τη παραπάνω διαμόρφωση. Ελέγξτε τα δικά σας αρχεία γραμματοσειράς, τα στιλ, την κατασκευή του SDK και τις μορφές εξόδου πριν εξαρτηθείτε από τα ίδια αποτελέσματα. Οι μετρικές γραμματοσειράς μπορούν να αλλάξουν τις αλλαγές γραμμής και την τοποθέτηση. Χρησιμοποιήστε font replacement ή substitution όταν χρειάζεστε διαφορετική οικογένεια, και embedded-font operations όταν χρειάζεται να αλλάξετε τις γραμματοσειρές που αποθηκεύονται στην παρουσίαση.

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

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

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

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

Ναι. Μπορείτε να καταχωρίσετε εξωτερικές πηγές γραμματοσειρών όπως φακέλους ή ροές στη μνήμη για απόδοση και εξαγωγή. Αυτό αφαιρεί την εξάρτηση από τις γραμματοσειρές του συστήματος κεντρικού υπολογιστή και διατηρεί τη διάταξη προβλέψιμη.

Πώς μπορώ να αποτρέψω μια αθόρυβη εναλλακτική σε μη κατάλληλη γραμματοσειρά όταν λείπει ένα glyph;

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