Ανάκτηση ορίων τμήματος κειμένου από παρουσιάσεις σε Python μέσω Java
Επισκόπηση
Μια ενότητα κειμένου αντιπροσωπεύει ένα συγκεκριμένο τμήμα κειμένου μέσα σε μια παράγραφο και σας επιτρέπει να εργάζεστε με αυτό το τμήμα ανεξάρτητα από το περιβάλλον κείμενο. Στο Aspose.Slides, οι ενότητες μπορούν να χρησιμοποιηθούν όταν χρειάζεται να ανακτήσετε τα όρια ενός τμήματος κειμένου, να εφαρμόσετε μορφοποίηση μόνο σε μέρος μιας παραγράφου ή να ελέγξετε τη συμπεριφορά του κειμένου σε πιο λεπτομερή επίπεδο.
Αυτό το άρθρο δείχνει πώς να λάβετε το ορθογώνιο περιγράμματος μιας ενότητας χρησιμοποιώντας Portion.getRect. Επίσης δείχνει πώς να λάβετε τις συντεταγμένες της αρχής μιας ενότητας χρησιμοποιώντας Portion.getCoordinates. Επιπλέον, αναδεικνύει κοινά σενάρια σχετιζόμενα με ενότητες, όπως η εφαρμογή υπερσύνδεσμου σε ένα μοναδικό τμήμα κειμένου, η κατανόηση του πώς η μορφοποίηση λυγίζεται μέσω ενότητας, παραγράφου, πλαισίου κειμένου και κληρονομικότητας θέματος, καθώς και η αντιμετώπιση περιπτώσεων όπου μια καθορισμένη γραμματοσειρά δεν είναι διαθέσιμη.
Λήψη ορίων μιας ενότητας κειμένου
Χρησιμοποιήστε Portion.getRect για να ανακτήσετε το ορθογώνιο περιγράμματος μιας ενότητας κειμένου:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation
presentation = Presentation("Shapes.pptx")
try:
slide = presentation.getSlides().get_Item(0)
shape = slide.getShapes().get_Item(0)
for paragraph in shape.getTextFrame().getParagraphs():
for portion in paragraph.getPortions():
rectangle = portion.getRect()
print(f"X = {rectangle.x}; Y = {rectangle.y}; Width = {rectangle.width}; Height = {rectangle.height}")
finally:
presentation.dispose()
Λήψη συντεταγμένων μιας ενότητας κειμένου
Χρησιμοποιήστε Portion.getCoordinates για να ανακτήσετε τις συντεταγμένες της αρχής μιας ενότητας κειμένου:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation
presentation = Presentation("Shapes.pptx")
try:
slide = presentation.getSlides().get_Item(0)
shape = slide.getShapes().get_Item(0)
for paragraph in shape.getTextFrame().getParagraphs():
for portion in paragraph.getPortions():
point = portion.getCoordinates()
print(f"X = {point.x}; Y = {point.y}")
finally:
presentation.dispose()
Συχνές ερωτήσεις
Μπορώ να εφαρμόσω έναν υπερσύνδεσμο μόνο σε μέρος του κειμένου μέσα σε μια ενιαία παράγραφο;
Ναι, μπορείτε να αναθέσετε έναν υπερσύνδεσμο σε μια μεμονωμένη ενότητα· μόνο αυτό το τμήμα θα είναι κλικ‑δυνατό, όχι ολόκληρη η παράγραφος.
Πώς λειτουργεί η κληρονομικότητα του στυλ: τι υπερισχύει από μια ενότητα και τι λαμβάνεται από μια παράγραφο ή ένα πλαίσιο κειμένου;
Οι ιδιότητες σε επίπεδο ενότητας έχουν την υψηλότερη προτεραιότητα. Εάν μια ιδιότητα δεν έχει οριστεί στην Portion, το Aspose.Slides την παίρνει από την Paragraph. Εάν δεν έχει οριστεί και εκεί, το Aspose.Slides χρησιμοποιεί το στυλ του TextFrame ή του theme.
Τι συμβαίνει εάν η γραμματοσειρά που έχει καθοριστεί για μια ενότητα λείπει στο στόχο μηχανή ή διακομιστή;
Εφαρμόζονται οι κανόνες αντικατάστασης γραμματοσειρών. Το κείμενο ενδέχεται να αναδιαταχθεί: οι μετρικές, η συλλαβή και το πλάτος μπορεί να αλλάξουν, κάτι που είναι σημαντικό για ακριβή τοποθέτηση.
Μπορώ να ορίσω διαφάνεια γεμίσματος κειμένου ή διαβάθμιση ειδικά για μια ενότητα, ανεξάρτητα από το υπόλοιπο της παραγράφου;
Ναι, το χρώμα κειμένου, το γέμισμα και η διαφάνεια σε επίπεδο Portion μπορούν να διαφέρουν από τα γειτονικά τμήματα.