Textabschnittsbegrenzungen aus Präsentationen in Python über Java abrufen
Übersicht
Ein Textabschnitt stellt ein bestimmtes Fragment von Text innerhalb eines Absatzes dar und ermöglicht es Ihnen, mit diesem Fragment unabhängig vom umgebenden Inhalt zu arbeiten. In Aspose.Slides können Abschnitte verwendet werden, wenn Sie die Begrenzungsrechtecke eines Textfragments abrufen, Formatierungen nur für einen Teil eines Absatzes anwenden oder das Textverhalten auf einer detaillierteren Ebene steuern müssen.
Dieser Artikel zeigt, wie man das Begrenzungsrechteck eines Abschnitts mit Portion.getRect erhält. Er zeigt außerdem, wie man die Koordinaten des Beginns eines Abschnitts mit Portion.getCoordinates ermittelt. Zusätzlich werden gängige Szenarien im Zusammenhang mit Abschnitten hervorgehoben, z. B. das Hinzufügen eines Hyperlinks zu einem einzelnen Textfragment, das Verständnis der Formatauflösung über Abschnitt-, Absatz-, TextFrame- und Theme-Vererbung sowie der Umgang mit Fällen, in denen eine angegebene Schriftart nicht verfügbar ist.
Begrenzungsrechteck eines Textabschnitts abrufen
Verwenden Sie Portion.getRect, um das Begrenzungsrechteck eines Textabschnitts abzurufen:
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()
Koordinaten eines Textabschnitts abrufen
Verwenden Sie Portion.getCoordinates, um die Koordinaten des Beginns eines Textabschnitts abzurufen:
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
Kann ich einen Hyperlink nur auf einen Teil des Textes innerhalb eines einzelnen Absatzes anwenden?
Ja, Sie können einen Hyperlink zuweisen zu einem einzelnen Abschnitt; nur dieses Fragment wird anklickbar sein, nicht der gesamte Absatz.
Wie funktioniert die Stilvererbung: Was überschreibt ein Abschnitt und was wird von einem Absatz oder TextFrame übernommen?
Eigenschaften auf Abschnittsebene haben die höchste Priorität. Wenn eine Eigenschaft nicht auf dem Portion festgelegt ist, übernimmt Aspose.Slides sie vom Paragraph. Ist sie dort ebenfalls nicht gesetzt, verwendet Aspose.Slides den Stil des TextFrame oder des theme.
Was passiert, wenn die für einen Abschnitt angegebene Schriftart auf der Zielmaschine oder dem Server fehlt?
Font substitution rules werden angewendet. Der Text kann neu umfließen: Metriken, Silbentrennung und Breite können sich ändern, was für präzise Positionierung wichtig ist.
Kann ich die Transparenz oder einen Farbverlauf der Textfüllung für einen Abschnitt unabhängig vom Rest des Absatzes festlegen?
Ja, Textfarbe, Füllung und Transparenz auf Portion-Ebene können sich von benachbarten Fragmenten unterscheiden.