Διαμόρφωση Αντικατάστασης Γραμματοσειρών σε Παρουσιάσεις σε Android

Επισκόπηση

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

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

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

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

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

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

// Φορτώνει μια παρουσίαση
Presentation pres = new Presentation("Fonts.pptx");
try {
    // Φορτώνει τη γραμματοσειρά πηγής που θα αντικατασταθεί
    IFontData sourceFont = new FontData("SomeRareFont");
    
    // Φορτώνει τη νέα γραμματοσειρά
    IFontData destFont = new FontData("Arial");
    
    // Προσθέτει έναν κανόνα γραμματοσειράς για αντικατάσταση γραμματοσειράς
    IFontSubstRule fontSubstRule = new FontSubstRule(sourceFont, destFont, FontSubstCondition.WhenInaccessible);
    
    // Προσθέτει τον κανόνα στη συλλογή κανόνων αντικατάστασης γραμματοσειράς
    IFontSubstRuleCollection fontSubstRuleCollection = new FontSubstRuleCollection();
    fontSubstRuleCollection.add(fontSubstRule);
    
    // Προσθέτει μια συλλογή κανόνων γραμματοσειράς στη λίστα κανόνων
    pres.getFontsManager().setFontSubstRuleList(fontSubstRuleCollection);
    
    // Η γραμματοσειρά Arial θα χρησιμοποιηθεί αντί της SomeRareFont όταν αυτή δεν είναι προσβάσιμη
    IImage slideImage = pres.getSlides().get_Item(0).getImage(1f, 1f);
    
    // Αποθηκεύει την εικόνα στο δίσκο σε μορφή JPEG
    try {
          slideImage.save("Thumbnail_out.jpg", 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 κατά την εκτέλεση. Μπορείτε να εγκαταστήσετε τη γραμματοσειρά στο λειτουργικό σύστημα ή να την παρέχετε ως εξωτερική γραμματοσειρά ώστε να συμμετέχει στη συνήθη διαδικασία επιλογής γραμματοσειράς κατά την απόδοση και τη μετατροπή.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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