Python'da Sunumlardan Paragraf Sınırlarını Al

Genel Bakış

Bu makale, Aspose.Slides içinde paragrafların sınırlarını, boyutunu ve koordinatlarını nasıl alacağınızı açıklar. TextFrame üzerinden bir paragraf dikdörtgeni elde etmek için Paragraph.get_rect nasıl kullanılacağını, tablo hücresi metin çerçevesi içindeki paragraf koordinatlarının nasıl alınacağını gösterir ve ölçüm birimleri, metin kaydırmanın sınırlar üzerindeki etkisi, piksel dönüşümü ve etkili paragraf biçimlendirme değerleri gibi önemli detayları vurgular.

Paragrafın Dikdörtgen Koordinatlarını Al

Bir paragrafın sınırlayıcı dikdörtgenini almak için Paragraph.get_rect kullanın.

import aspose.slides as slides

with slides.Presentation("Shapes.pptx") as presentation:
    slide = presentation.slides[0]
    shape = slide.shapes[0]
    paragraph = shape.text_frame.paragraphs[0]
    rectangle = paragraph.get_rect()

Tablo Hücresi TextFrame İçindeki Paragrafın Boyutunu Al

Bir tablo hücresi metin çerçevesindeki bir Paragraph boyutunu ve koordinatlarını almak için Paragraph.get_rect kullanın. Döndürülen dikdörtgen tablo hücresi metin çerçevesine göre görecelidir, bu nedenle slayt seviyesindeki koordinatlara ihtiyacınız olduğunda tablo konumunu ve hücre ofsetini ekleyin.

İşte aşağıdaki örnek, bir tablo hücresi içindeki paragraf sınırlarını alır ve bu sınırları görselleştirmek üzere slayta dikdörtgenler çizer:

import aspose.slides as slides
import aspose.pydrawing as draw

with slides.Presentation("source.pptx") as presentation:
    slide = presentation.slides[0]
    table = slide.shapes[0]
    cell = table.rows[1][1]

    cell_x = table.x + cell.offset_x
    cell_y = table.y + cell.offset_y

    for paragraph in cell.text_frame.paragraphs:
        if paragraph.text == "":
            continue

        paragraph_rectangle = paragraph.get_rect()
        paragraph_rectangle_x = paragraph_rectangle.x + cell_x
        paragraph_rectangle_y = paragraph_rectangle.y + cell_y

        paragraph_bounds_shape = slide.shapes.add_auto_shape(
            slides.ShapeType.RECTANGLE,
            paragraph_rectangle_x,
            paragraph_rectangle_y,
            paragraph_rectangle.width,
            paragraph_rectangle.height)

        paragraph_bounds_shape.fill_format.fill_type = slides.FillType.NO_FILL
        paragraph_bounds_shape.line_format.fill_format.solid_fill_color.color = draw.Color.yellow
        paragraph_bounds_shape.line_format.fill_format.fill_type = slides.FillType.SOLID

    presentation.save("output.pptx", slides.export.SaveFormat.PPTX)

SSS

Paragraf koordinatları hangi birimlerde ölçülür?

Puan (point) cinsinden ölçülür; 1 inç 72 puana eşittir. Bu, slayttaki tüm koordinat ve boyutlar için geçerlidir.

Kelime kaydırma bir paragrafın sınırlarını etkiler mi?

Evet. TextFrameFormat.wrap_text TextFrame için etkinleştirilmişse, metin alan genişliğine sığacak şekilde bölünür ve bu da paragrafın gerçek sınırlarını değiştirir.

Paragraf koordinatları dışa aktarılan görüntüde piksellere güvenilir bir şekilde eşlenebilir mi?

Evet. Puanları pikselye bu formülle dönüştürün: piksel = puan x (DPI / 72). Sonuç, oluşturma veya dışa aktarma için seçilen DPI’ye bağlıdır.

“Etkili” paragraf biçimlendirme parametrelerini stil kalıtımını göz önünde bulundurarak nasıl alırım?

Bu amaçla effective paragraph formatting data structure kullanın; girintiler, boşluklar, kaydırma, RTL ve diğerleri için son birleştirilmiş değerleri döndürür.