Διαχείριση Γραμματοσειρών σε Παρουσιάσεις Χρησιμοποιώντας Python μέσω Java

Επισκόπηση

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

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

Διαχείριση Ιδιοτήτων Σχετικών με τη Γραμματοσειρά

Για τη διαχείριση των ιδιοτήτων γραμματοσειράς μιας παραγράφου χρησιμοποιώντας το Aspose.Slides for Python via Java:

  1. Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
  2. Αποκτήστε αναφορά σε μια διαφάνεια χρησιμοποιώντας το δείκτη της.
  3. Προβάλετε τα σχήματα Placeholder στη διαφάνεια ως AutoShape.
  4. Αποκτήστε το Paragraph από το TextFrame που εκτίθεται από το AutoShape.
  5. Στοιχίστε την παράγραφο.
  6. Προβάλετε το κείμενο Portion μιας Paragraph.
  7. Ορίστε τη γραμματοσειρά χρησιμοποιώντας το FontData και ορίστε το Font του κειμένου Portion αναλόγως.
    1. Ορίστε τη γραμματοσειρά σε έντονη.
    2. Ορίστε τη γραμματοσειρά σε πλάγια.
  8. Ορίστε το χρώμα γραμματοσειράς χρησιμοποιώντας το FillFormat που εκτίθεται από το αντικείμενο Portion.
  9. Αποθηκεύστε την τροποποιημένη παρουσίαση σε αρχείο PPTX.

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

Κείμενο στην αρχική παρουσίαση
Σχήμα: Το κείμενο στο αρχικό αρχείο
Κείμενο με ενημερωμένη μορφοποίηση γραμματοσειράς
Σχήμα: Το ίδιο κείμενο με ενημερωμένη μορφοποίηση
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, FontData, NullableBool, Presentation, SaveFormat, TextAlignment
from java.awt import Color

# Φόρτωση της παρουσίασης.
presentation = Presentation("FontProperties.pptx")
try:
    # Πρόσβαση στην πρώτη διαφάνεια και στα πλαίσια κειμένου των πρώτων δύο placeholders.
    slide = presentation.getSlides().get_Item(0)
    title_text_frame = slide.getShapes().get_Item(0).getTextFrame()
    body_text_frame = slide.getShapes().get_Item(1).getTextFrame()

    # Πρόσβαση στην πρώτη παράγραφο σε κάθε πλαίσιο κειμένου.
    title_paragraph = title_text_frame.getParagraphs().get_Item(0)
    body_paragraph = body_text_frame.getParagraphs().get_Item(0)
    body_paragraph.getParagraphFormat().setAlignment(TextAlignment.JustifyLow)

    # Πρόσβαση στο πρώτο τμήμα σε κάθε παράγραφο.
    title_portion = title_paragraph.getPortions().get_Item(0)
    body_portion = body_paragraph.getPortions().get_Item(0)

    # Ορισμός και ανάθεση νέων γραμματοσειρών.
    title_font = FontData("Elephant")
    body_font = FontData("Castellar")
    title_portion.getPortionFormat().setLatinFont(title_font)
    body_portion.getPortionFormat().setLatinFont(body_font)

    # Ορισμός των γραμματοσειρών σε έντονη και πλάγια.
    title_portion.getPortionFormat().setFontBold(NullableBool.True_)
    body_portion.getPortionFormat().setFontBold(NullableBool.True_)
    title_portion.getPortionFormat().setFontItalic(NullableBool.True_)
    body_portion.getPortionFormat().setFontItalic(NullableBool.True_)

    # Ορισμός των χρωμάτων γραμματοσειράς.
    title_portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
    title_portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)
    body_portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
    body_portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.GREEN)

    # Αποθήκευση της παρουσίασης.
    presentation.save("WelcomeFont.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Ορισμός Ιδιοτήτων Γραμματοσειράς Κειμένου

Για να δημιουργήσετε ένα πλαίσιο κειμένου και να ορίσετε τις ιδιότητες γραμματοσειράς του κειμένου σε αυτό:

  1. Δημιουργήστε ένα αντικείμενο της κλάσης Presentation.
  2. Αποκτήστε την αναφορά μιας διαφάνειας χρησιμοποιώντας το δείκτη της.
  3. Προσθέστε ένα AutoShape τύπου Rectangle στη διαφάνεια.
  4. Αφαιρέστε το στυλ γεμίσματος που σχετίζεται με το AutoShape.
  5. Προβάλετε το TextFrame του AutoShape.
  6. Προσθέστε κάποιο κείμενο στο TextFrame.
  7. Προβάλετε το αντικείμενο Portion που σχετίζεται με το TextFrame.
  8. Ορίστε τη γραμματοσειρά που θα χρησιμοποιηθεί για το Portion.
  9. Ορίστε άλλες ιδιότητες γραμματοσειράς όπως έντονη, πλάγια, υπογράμμιση, χρώμα και ύψος χρησιμοποιώντας τις σχετικές ιδιότητες που εκτίθενται από το αντικείμενο Portion.
  10. Γράψτε την τροποποιημένη παρουσίαση ως αρχείο PPTX.

Η υλοποίηση των παραπάνω βημάτων δίνεται παρακάτω.

Κείμενο με εφαρμοσμένα χαρακτηριστικά γραμματοσειράς
Σχήμα: Κείμενο με ορισμένες ιδιότητες γραμματοσειράς που έχουν οριστεί από το Aspose.Slides for Python via Java
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, FontData, NullableBool, Presentation, SaveFormat, ShapeType, TextUnderlineType
from java.awt import Color

presentation = Presentation()
try:
    # Λάβετε την πρώτη διαφάνεια και προσθέστε ένα ορθογώνιο.
    slide = presentation.getSlides().get_Item(0)
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 50)

    # Αφαιρέστε τη γέμιση του σχήματος.
    shape.getFillFormat().setFillType(FillType.NoFill)

    # Προσθέστε κείμενο στο πλαίσιο κειμένου του σχήματος.
    text_frame = shape.getTextFrame()
    text_frame.setText("Aspose TextBox")
    portion = text_frame.getParagraphs().get_Item(0).getPortions().get_Item(0)

    # Ορίστε την οικογένεια γραμματοσειράς.
    font = FontData("Times New Roman")
    portion.getPortionFormat().setLatinFont(font)

    # Ορίστε έντονη, πλάγια, υπογράμμιση και μέγεθος γραμματοσειράς.
    portion.getPortionFormat().setFontBold(NullableBool.True_)
    portion.getPortionFormat().setFontItalic(NullableBool.True_)
    portion.getPortionFormat().setFontUnderline(TextUnderlineType.Single)
    portion.getPortionFormat().setFontHeight(25)

    # Ορίστε το χρώμα της γραμματοσειράς.
    portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
    portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)

    # Αποθηκεύστε την παρουσίαση.
    presentation.save("pptxFont.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()