Ενσωμάτωση γραμματοσειρών σε παρουσιάσεις με Python
Εισαγωγή
Ενσωμάτωση γραμματοσειρών στο PowerPoint εξασφαλίζει ότι η παρουσίασή σας διατηρεί την προοριζόμενη εμφάνισή της σε διαφορετικά συστήματα. Είτε χρησιμοποιείτε μοναδικές γραμματοσειρές για δημιουργικότητα είτε τυπικές, η ενσωμάτωση των γραμματοσειρών αποτρέπει τη διαταραχή του κειμένου και της διάταξης.
Εάν χρησιμοποιήσατε μια γραμματοσειρά τρίτου μέρους ή μη τυπική επειδή ήσασταν δημιουργικοί με τη δουλειά σας, τότε έχετε ακόμη περισσότερους λόγους για να ενσωματώσετε τη γραμματοσειρά σας. Διαφορετικά (χωρίς ενσωματωμένες γραμματοσειρές), το κείμενο ή οι αριθμοί στις διαφάνειές σας, η διάταξη, το στυλ κ.λπ. μπορεί να αλλάξουν ή να μετατραπούν σε συγκεχυμένα ορθογώνια.
Χρησιμοποιήστε τις κλάσεις FontsManager, FontData, και Compress για τη διαχείριση των ενσωματωμένων γραμματοσειρών.
Ανάκτηση και Κατάργηση Ενσωματωμένων Γραμματοσειρών
Ανακτήστε ή αφαιρέστε ενσωματωμένες γραμματοσειρές από μια παρουσίαση εύκολα με τις μεθόδους get_embedded_fonts και remove_embedded_font.
Αυτός ο κώδικας Python δείχνει πώς να ανακτήσετε και να αφαιρέσετε ενσωματωμένες γραμματοσειρές από μια παρουσίαση:
import aspose.slides as slides
import aspose.pydrawing as draw
# Δημιουργήστε την κλάση Presentation που αντιπροσωπεύει ένα αρχείο παρουσίασης.
with slides.Presentation("EmbeddedFonts.pptx") as presentation:
slide = presentation.slides[0]
# Αποδώστε τη διαφάνεια που περιέχει ένα πλαίσιο κειμένου και χρησιμοποιεί την ενσωματωμένη γραμματοσειρά 'FunSized'.
with slide.get_image(draw.Size(960, 720)) as image:
image.save("picture1_out.png", slides.ImageFormat.PNG)
fonts_manager = presentation.fonts_manager
# Αποκτήστε όλες τις ενσωματωμένες γραμματοσειρές.
embedded_fonts = fonts_manager.get_embedded_fonts()
# Βρείτε τη γραμματοσειρά 'Calibri'.
font_data = list(filter(lambda data : data.font_name == "Calibri", embedded_fonts))[0]
# Αφαιρέστε τη γραμματοσειρά 'Calibri'.
fonts_manager.remove_embedded_font(font_data)
# Αποδώστε τη διαφάνεια· η γραμματοσειρά 'Calibri' θα αντικατασταθεί με μια υπάρχουσα.
with slide.get_image(draw.Size(960, 720)) as image:
image.save("picture2_out.png", slides.ImageFormat.PNG)
# Αποθηκεύστε την παρουσίαση χωρίς την ενσωματωμένη γραμματοσειρά 'Calibri' στο δίσκο.
presentation.save("WithoutEmbeddedFonts.ppt", slides.export.SaveFormat.PPT)
Προσθήκη Ενσωματωμένων Γραμματοσειρών
Χρησιμοποιώντας το enum EmbedFontCharacters και τις δύο υπερφορτώσεις της μεθόδου add_embedded_font, μπορείτε να επιλέξετε τον προτιμώμενο (ενσωμάτωση) κανόνα για την ενσωμάτωση των γραμματοσειρών σε μια παρουσίαση. Αυτός ο κώδικας Python δείχνει πώς να ενσωματώσετε και να προσθέσετε γραμματοσειρές σε μια παρουσίαση:
import aspose.slides as slides
# Φορτώστε μια παρουσίαση.
with slides.Presentation("Fonts.pptx") as presentation:
all_fonts = presentation.fonts_manager.get_fonts()
embedded_fonts = presentation.fonts_manager.get_embedded_fonts()
for font in all_fonts:
if font not in embedded_fonts:
presentation.fonts_manager.add_embedded_font(font, slides.export.EmbedFontCharacters.ALL)
# Αποθηκεύστε την παρουσίαση στο δίσκο.
presentation.save("AddEmbeddedFont.pptx", slides.export.SaveFormat.PPTX)
Συμπίεση Ενσωματωμένων Γραμματοσειρών
Βελτιστοποιήστε το μέγεθος του αρχείου συμπιέζοντας τις ενσωματωμένες γραμματοσειρές χρησιμοποιώντας το compress_embedded_fonts.
Παράδειγμα κώδικα για τη συμπίεση:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slides.lowcode.Compress.compress_embedded_fonts(presentation)
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
ΣΥΧΝΑ ΕΡΩΤΗΜΑΤΑ
Πώς μπορώ να καταλάβω αν μια συγκεκριμένη γραμματοσειρά στην παρουσίαση θα αντικατασταθεί ακόμη και κατά τη διάρκεια της απόδοσης παρόλο που έχει ενσωματωθεί;
Ελέγξτε τις πληροφορίες αντικατάστασης στον διαχειριστή γραμματοσειρών και τους κανόνες εναλλακτικών/αντικατάστασης: εάν η γραμματοσειρά δεν είναι διαθέσιμη ή είναι περιορισμένη, θα χρησιμοποιηθεί εναλλακτική.
Αξίζει η ενσωμάτωση των “συστημικών” γραμματοσειρών όπως Arial/Calibri;
Συνήθως όχι—είναι σχεδόν πάντα διαθέσιμες. Αλλά για πλήρη φορητότητα σε “thin” περιβάλλοντα (Docker, ένας διακομιστής Linux χωρίς προεγκατεστημένες γραμματοσειρές), η ενσωμάτωση των συστημικών γραμματοσειρών μπορεί να εξαλείψει τον κίνδυνο ανεπιθύμητων αντικαταστάσεων.