Διαμόρφωση υποκατάστασης γραμματοσειρών σε παρουσιάσεις χρησιμοποιώντας Java
Επισκόπηση
Η αντικατάσταση γραμματοσειρών επιτρέπει στο Aspose.Slides να χρησιμοποιήσει άλλη γραμματοσειρά όταν η αρχική γραμματοσειρά της παρουσίασης δεν είναι διαθέσιμη κατά την απόδοση ή τη μετατροπή. Μπορείτε να ελέγξετε ποιες γραμματοσειρές αντικαταστάθηκαν χρησιμοποιώντας τη μέθοδο getSubstitutions από το interface IFontsManager.
Το Aspose.Slides επίσης σας επιτρέπει να ορίσετε κανόνες αντικατάστασης γραμματοσειρών. Για παράδειγμα, μπορείτε να καθορίσετε ότι μια μη προσβάσιμη γραμματοσειρά πρέπει να αντικατασταθεί με μια άλλη διαθέσιμη γραμματοσειρά και στη συνέχεια να εφαρμόσετε αυτούς τους κανόνες μέσω του διαχειριστή γραμματοσειρών της παρουσίασης.
Ορισμός κανόνων αντικατάστασης γραμματοσειρών
Το Aspose.Slides σας επιτρέπει να ορίσετε κανόνες για τις γραμματοσειρές που καθορίζουν τι πρέπει να γίνει σε συγκεκριμένες συνθήκες (π.χ., όταν δεν είναι δυνατή η πρόσβαση σε μια γραμματοσειρά) με τον εξής τρόπο:
- Φορτώστε την αντίστοιχη παρουσίαση.
- Φορτώστε τη γραμματοσειρά που θα αντικατασταθεί.
- Φορτώστε τη νέα γραμματοσειρά.
- Προσθέστε έναν κανόνα για την αντικατάσταση.
- Προσθέστε τον κανόνα στη συλλογή κανόνων αντικατάστασης γραμματοσειρών της παρουσίασης.
- Δημιουργήστε την εικόνα της διαφάνειας για να παρατηρήσετε το αποτέλεσμα.
Αυτός ο κώδικας 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();
}
NOTE
Μπορείτε να δείτε το Αντικατάσταση γραμματοσειρών.Περιορισμοί για γραμματοσειρές μαθηματικών εξισώσεων
Οι κανόνες αντικατάστασης γραμματοσειρών συμμετέχουν στη στάνταρ διαδικασία επιλογής γραμματοσειράς που χρησιμοποιείται κατά την απόδοση και τη μετατροπή. Είναι κατάλληλοι για σενάρια κανονικού κειμένου όπου το 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, προσθέστε τις εξωτερικές γραμματοσειρές που απαιτούνται για τα τελικά έγγραφα, και ενσωματώστε τις γραμματοσειρές στις παρουσιάσεις όταν είναι δυνατόν, ώστε οι επιλεγμένες γραμματοσειρές να είναι διαθέσιμες κατά την απόδοση.