Διαμόρφωση υποκατάστασης γραμματοσειράς σε παρουσιάσεις χρησιμοποιώντας JavaScript

Επισκόπηση

Η αντικατάσταση γραμματοσειράς επιτρέπει στο Aspose.Slides να χρησιμοποιεί άλλη γραμματοσειρά όταν η αρχική γραμματοσειρά παρουσίασης δεν είναι διαθέσιμη κατά την απόδοση ή τη μετατροπή. Μπορείτε να ελέγξετε ποιες γραμματοσειρές αντικαταστάθηκαν χρησιμοποιώντας τη μέθοδο getSubstitutions της κλάσης FontsManager.

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

Ορισμός κανόνων αντικατάστασης γραμματοσειρών

Το Aspose.Slides επιτρέπει τον ορισμό κανόνων για τις γραμματοσειρές που καθορίζουν τι πρέπει να γίνει σε ορισμένες συνθήκες (π.χ. όταν μια γραμματοσειρά δεν μπορεί να προσπελαστεί) ως εξής:

  1. Φορτώστε την αντίστοιχη παρουσίαση.
  2. Φορτώστε τη γραμματοσειρά που θα αντικατασταθεί.
  3. Φορτώστε τη νέα γραμματοσειρά.
  4. Προσθέστε έναν κανόνα για την αντικατάσταση.
  5. Προσθέστε τον κανόνα στη συλλογή κανόνων αντικατάστασης γραμματοσειρών της παρουσίασης.
  6. Δημιουργήστε την εικόνα διαφάνειας για να παρατηρήσετε το αποτέλεσμα.

Αυτός ο κώδικας JavaScript δείχνει τη διαδικασία αντικατάστασης γραμματοσειρών:

// Φορτώνει μια παρουσίαση
var pres = new aspose.slides.Presentation("Fonts.pptx");
try {
    // Φορτώνει τη γραμματοσειρά προέλευσης που θα αντικατασταθεί
    var sourceFont = new aspose.slides.FontData("SomeRareFont");
    // Φορτώνει τη νέα γραμματοσειρά
    var destFont = new aspose.slides.FontData("Arial");
    // Προσθέτει έναν κανόνα γραμματοσειράς για αντικατάσταση γραμματοσειράς
    var fontSubstRule = new aspose.slides.FontSubstRule(sourceFont, destFont, aspose.slides.FontSubstCondition.WhenInaccessible);
    // Προσθέτει τον κανόνα στη συλλογή κανόνων υποκατάστασης γραμματοσειρών
    var fontSubstRuleCollection = new aspose.slides.FontSubstRuleCollection();
    fontSubstRuleCollection.add(fontSubstRule);
    // Προσθέτει μια συλλογή κανόνων γραμματοσειράς στη λίστα κανόνων
    pres.getFontsManager().setFontSubstRuleList(fontSubstRuleCollection);
    // Η γραμματοσειρά Arial θα χρησιμοποιηθεί αντί της SomeRareFont όταν αυτή είναι μη προσβάσιμη
    var slideImage = pres.getSlides().get_Item(0).getImage(1.0, 1.0);
    // Αποθηκεύει την εικόνα στο δίσκο σε μορφή JPEG
    try {
        slideImage.save("Thumbnail_out.jpg", aspose.slides.ImageFormat.Jpeg);
    } finally {
        if (slideImage != null) {
            slideImage.dispose();
        }
    }
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

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

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

Ωστόσο, οι μαθηματικές εξισώσεις του Office έχουν ένα σημαντικό περιορισμό. Εάν μια εξίσωση δημιουργήθηκε με Cambria Math, το Aspose.Slides ενδέχεται να απαιτεί ακόμη τη αρχική γραμματοσειρά Cambria Math για να υπολογίσει και να αποδώσει σωστά τη διάταξη της εξίσωσης. Εξαιτίας αυτού, η αντικατάσταση της Cambria Math με άλλη γραμματοσειρά μαθηματικών, όπως η STIX Two Math, δεν υποστηρίζεται για την απόδοση εξισώσεων και μπορεί να προκαλέσει εξαίρεση που υποδεικνύει ότι απαιτείται η Cambria Math.

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

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

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

Τι διαφέρει μεταξύ αντικατάστασης γραμματοσειράς και υποκατάστασης γραμματοσειράς;

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

Πότε ακριβώς εφαρμόζονται οι κανόνες υποκατάστασης;

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

Ποια είναι η προεπιλεγμένη συμπεριφορά εάν δεν διαμορφώνονται ούτε αντικατάσταση ούτε υποκατάσταση και η γραμματοσειρά λείπει από το σύστημα;

Η βιβλιοθήκη θα προσπαθήσει να επιλέξει τη πιο κοντινή διαθέσιμη γραμματοσειρά του συστήματος, παρόμοια με τη συμπεριφορά του PowerPoint.

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

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

Διανέμει η Aspose κάποια γραμματοσειρά μαζί με τη βιβλιοθήκη;

Όχι. Η Aspose δεν διανέμει πληρωμένες ή δωρεάν γραμματοσειρές· εσείς προσθέτετε και χρησιμοποιείτε τις γραμματοσειρές με τη δική σας κρίση και ευθύνη.

Υπάρχουν διαφορές στη συμπεριφορά υποκατάστασης σε Windows, Linux και macOS;

Ναι. Η ανεύρεση γραμματοσειρών ξεκινά από τους φακέλους γραμματοσειρών του λειτουργικού συστήματος. Το σύνολο των προεπιλεγμένων διαθέσιμων γραμματοσειρών και οι διαδρομές αναζήτησης διαφέρουν ανά πλατφόρμα, κάτι που επηρεάζει τη διαθεσιμότητα και την ανάγκη υποκατάστασης.

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

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