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

Επισκόπηση

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

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

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

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

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

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

import aspose.slides as slides

# Φορτώνει μια παρουσίαση
with slides.Presentation(path + "Fonts.pptx") as presentation:
    # Φορτώνει τη γραμματοσειρά προέλευσης που θα αντικατασταθεί
    sourceFont = slides.FontData("SomeRareFont")

    # Φορτώνει τη νέα γραμματοσειρά
    destFont = slides.FontData("Arial")

    # Προσθέτει έναν κανόνα γραμματοσειράς για αντικατάσταση γραμματοσειράς
    fontSubstRule = slides.FontSubstRule(sourceFont, destFont, slides.FontSubstCondition.WHEN_INACCESSIBLE)

    # Προσθέτει τον κανόνα στη συλλογή κανόνων αντικατάστασης γραμματοσειρών
    fontSubstRuleCollection = slides.FontSubstRuleCollection()
    fontSubstRuleCollection.add(fontSubstRule)

    # Προσθέτει τη συλλογή κανόνων γραμματοσειράς στη λίστα κανόνων
    presentation.fonts_manager.font_subst_rule_list = fontSubstRuleCollection

    # Η γραμματοσειρά Arial θα χρησιμοποιηθεί αντί της SomeRareFont όταν αυτή είναι μη προσβάσιμη
    with presentation.slides[0].get_image(1, 1) as bmp:
        # Αποθηκεύει την εικόνα στο δίσκο σε μορφή JPEG
        bmp.save("Thumbnail_out.jpg", slides.ImageFormat.JPEG)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Συχνές ερωτήσεις (συνεχίζεται)

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

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

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

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