Ottenere i limiti della porzione di testo dalle presentazioni in Python via Java
Panoramica
Una porzione di testo rappresenta un frammento specifico di testo all’interno di un paragrafo e consente di lavorare con quel frammento in modo indipendente dal contenuto circostante. In Aspose.Slides, le porzioni possono essere utilizzate quando è necessario recuperare i confini di un frammento di testo, applicare formattazione solo a una parte di un paragrafo o controllare il comportamento del testo a un livello più dettagliato.
Questo articolo mostra come ottenere il rettangolo di delimitazione di una porzione utilizzando Portion.getRect. Mostra anche come ottenere le coordinate dell’inizio di una porzione utilizzando Portion.getCoordinates. Inoltre, evidenzia scenari comuni legati alle porzioni, come l’applicazione di un collegamento ipertestuale a un singolo frammento di testo, la comprensione di come la formattazione venga risolta tramite eredità di porzione, paragrafo, text frame e tema, e la gestione dei casi in cui un carattere specificato non è disponibile.
Ottenere i confini di una porzione di testo
Utilizza Portion.getRect per recuperare il rettangolo di delimitazione di una porzione di testo:
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()
Ottenere le coordinate di una porzione di testo
Utilizza Portion.getCoordinates per recuperare le coordinate dell’inizio di una porzione di testo:
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()
FAQ
Posso applicare un collegamento ipertestuale solo a una parte del testo all’interno di un singolo paragrafo?
Sì, puoi assegnare un collegamento ipertestuale a una singola porzione; solo quel frammento sarà cliccabile, non l’intero paragrafo.
Come funziona l’ereditarietà degli stili: cosa sovrascrive una porzione e cosa viene preso da un paragrafo o da un frame di testo?
Le proprietà a livello di Porzione hanno la precedenza più alta. Se una proprietà non è impostata sulla Portion, Aspose.Slides la preleva dal Paragraph. Se non è impostata nemmeno lì, Aspose.Slides utilizza lo stile del TextFrame o del theme.
Cosa succede se il carattere specificato per una porzione è assente sulla macchina o sul server di destinazione?
Si applicano le regole di sostituzione dei caratteri. Il testo potrebbe ridistribuirsi: metriche, sillabazione e larghezza possono cambiare, il che è importante per un posizionamento preciso.
Posso impostare la trasparenza o una sfumatura di riempimento del testo specifica per la porzione in modo indipendente dal resto del paragrafo?
Sì, colore, riempimento e trasparenza del testo a livello di Portion possono differire dai frammenti vicini.