Absatzgrenzen aus Präsentationen in Python ermitteln
Koordinaten von Absatz und Portion in TextFrame erhalten
Mit Aspose.Slides für Python via .NET können Entwickler jetzt die rechteckigen Koordinaten für einen Paragraphen innerhalb der Paragraphensammlung eines TextFrames abrufen. Außerdem können Sie die Koordinaten einer Portion innerhalb der Portionssammlung eines Paragraphen erhalten. In diesem Thema demonstrieren wir anhand eines Beispiels, wie man die rechteckigen Koordinaten für einen Paragraphen zusammen mit der Position einer Portion innerhalb eines Paragraphen erhält.
Rechteckige Koordinaten eines Absatzes erhalten
Die neue Methode GetRect() wurde hinzugefügt. Sie ermöglicht das Abrufen des Begrenzungsrechtecks eines Paragraphen.
import aspose.slides as slides
# Instanziieren Sie ein Presentation-Objekt, das eine Präsentationsdatei repräsentiert
with slides.Presentation(path + "Shapes.pptx") as presentation:
shape = presentation.slides[0].shapes[0]
textFrame = shape.text_frame
rect = textFrame.paragraphs[0].get_rect()
Größe von Absatz und Portion innerhalb des TextFrames einer Tabellenzelle erhalten
Um die Größe und die Koordinaten von Portion oder Paragraph in einem TextFrame einer Tabellenzelle zu erhalten, können Sie die Methoden IPortion.GetRect und IParagraph.GetRect verwenden.
Dieses Beispielcode demonstriert die beschriebene Operation:
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation(path + "source.pptx") as pres:
tbl = pres.slides[0].shapes[0]
cell = tbl.rows[1][1]
x = tbl.X + tbl.rows[1][1].offset_x
y = tbl.Y + tbl.rows[1][1].offset_y
for para in cell.text_frame.paragraphs:
if para.text == "":
continue
rect = para.get_rect()
shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE,
rect.x + x, rect.y + y, rect.width, rect.height)
shape.fill_format.fill_type = slides.FillType.NO_FILL
shape.line_format.fill_format.solid_fill_color.color = draw.Color.yellow
shape.line_format.fill_format.fill_type = slides.FillType.SOLID
for portion in para.portions:
if "0" in portion.text:
rect = portion.get_rect()
shape = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE,
rect.x + x, rect.y + y, rect.width, rect.height)
shape.fill_format.fill_type = slides.FillType.NO_FILL
FAQ
In welchen Einheiten werden die Koordinaten eines Absatzes und Textportionen zurückgegeben?
In Punkt, wobei 1 Zoll = 72 Punkt entspricht. Dies gilt für alle Koordinaten und Abmessungen auf der Folie.
Beeinflusst das Textumbruch die Begrenzungen eines Absatzes?
Ja. Wenn wrapping im TextFrame aktiviert ist, bricht der Text um, um die Breite des Bereichs zu füllen, wodurch sich die tatsächlichen Begrenzungen des Absatzes ändern.
Können Absatzkoordinaten zuverlässig in Pixel im exportierten Bild umgewandelt werden?
Ja. Konvertiere Punkt in Pixel mithilfe von: pixels = points × (DPI / 72). Das Ergebnis hängt vom für das Rendern/Exportieren gewählten DPI ab.
Wie erhalte ich die “effektiven” Absatzformatierungsparameter unter Berücksichtigung der Stilvererbung?
Verwende die effective paragraph formatting data structure; sie gibt die endgültigen konsolidierten Werte für Einzüge, Abstand, Umbruch, RTL und mehr zurück.