Fejlessze előadásaikat az AutoFit használatával Pythonban

Bevezetés

Alapértelmezés szerint, amikor szövegdobozt ad hozzá, a Microsoft PowerPoint a szövegdobozhoz a Resize shape to fix text beállítást használja – automatikusan átméretezi a szövegdobozt, hogy a benne lévő szöveg mindig elférjen benne.

textbox-in-powerpoint

  • Amikor a szövegdoboz szövege hosszabb vagy nagyobb lesz, a PowerPoint automatikusan növeli a szövegdobozt – magasságát – hogy több szöveget tudjon tartalmazni.
  • Amikor a szövegdoboz szövege rövidebb vagy kisebb lesz, a PowerPoint automatikusan csökkenti a szövegdobozt – magasságát – és eltávolítja a felesleges helyet.

A PowerPointben négy fontos paraméter vagy lehetőség szabályozza a szövegdobozok autofit viselkedését:

  • Do not Autofit
  • Shrink text on overflow
  • Resize shape to fit text
  • Wrap text in shape.

autofit-options-powerpoint

Az Aspose.Slides for Python via .NET hasonló lehetőségeket kínál – néhány tulajdonságot a TextFrameFormat osztályban – amelyekkel szabályozhatja a szövegdobozok autofit viselkedését a bemutatókban.

Resize Shapes to Fit Text

Ha azt szeretné, hogy egy doboz szövege mindig elférjen a dobozban a szöveg módosítása után is, a Resize shape to fix text lehetőséget kell használnia. Ennek beállításához állítsa a autofit_type tulajdonságot a TextFrameFormat osztályból SHAPE‑re.

alwaysfit-setting-powerpoint

Ez a Python kód megmutatja, hogyan adja meg, hogy a szöveg mindig elférjen a dobozában egy PowerPoint‑prezentációban:

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

with slides.Presentation() as presentation:
    slide = presentation.slides[0]
    auto_shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 30, 30, 350, 100)

    portion = slides.Portion("lorem ipsum...")
    portion.portion_format.fill_format.solid_fill_color.color = draw.Color.black
    portion.portion_format.fill_format.fill_type = slides.FillType.SOLID
    auto_shape.text_frame.paragraphs[0].portions.add(portion)

    text_frame_format = auto_shape.text_frame.text_frame_format
    text_frame_format.autofit_type = slides.TextAutofitType.SHAPE

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

Ha a szöveg hosszabb vagy nagyobb lesz, a szövegdoboz automatikusan átméreteződik (magassága nő), hogy az egész szöveg elférjen benne. Ha a szöveg rövidebb, akkor a fordított történik.

Do Not Autofit

Ha azt szeretné, hogy egy szövegdoboz vagy alakzat megtartsa méreteit függetlenül a benne lévő szöveg változásaitól, a Do not Autofit lehetőséget kell használnia. Ennek beállításához állítsa a autofit_type tulajdonságot a TextFrameFormat osztályból NONE‑ra.

donotautofit-setting-powerpoint

Ez a Python kód megmutatja, hogyan adja meg, hogy egy szövegdoboz mindig megtartsa méreteit egy PowerPoint‑prezentációban:

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

with slides.Presentation() as presentation:
    slide = presentation.slides[0]
    auto_shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 30, 30, 350, 100)

    portion = slides.Portion("lorem ipsum...")
    portion.portion_format.fill_format.solid_fill_color.color = draw.Color.black
    portion.portion_format.fill_format.fill_type = slides.FillType.SOLID
    auto_shape.text_frame.paragraphs[0].portions.add(portion)

    text_frame_format = auto_shape.text_frame.text_frame_format
    text_frame_format.autofit_type = slides.TextAutofitType.NONE

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

Ha a szöveg túl hosszú lesz a dobozához képest, kifolyik.

Shrink Text on Overflow

Ha a szöveg túl hosszúra nő a dobozhoz képest, a Shrink text on overflow lehetőséggel megadhatja, hogy a szöveg méretét és a szóközöket csökkenteni kell, hogy elférjen a dobozban. Ennek beállításához állítsa a autofit_type tulajdonságot a TextFrameFormat osztályból NORMAL‑ra.

shrinktextonoverflow-setting-powerpoint

Ez a Python kód megmutatja, hogyan adja meg, hogy a szöveget csökkenteni kell az overflow esetén egy PowerPoint‑prezentációban:

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

with slides.Presentation() as presentation:
    slide = presentation.slides[0]
    auto_shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 30, 30, 350, 100)

    portion = slides.Portion("lorem ipsum...")
    portion.portion_format.fill_format.solid_fill_color.color = draw.Color.black
    portion.portion_format.fill_format.fill_type = slides.FillType.SOLID
    auto_shape.text_frame.paragraphs[0].portions.add(portion)

    text_frame_format = auto_shape.text_frame.text_frame_format
    text_frame_format.autofit_type = slides.TextAutofitType.NORMAL

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

Wrap Text

Ha azt szeretné, hogy a szöveg egy alakzatban a forma határain (csak a szélesség mentén) belül legyen tördelve, a Wrap text in shape paramétert kell használnia. Ennek beállításához a wrap_text tulajdonságot a TextFrameFormat osztályból NullableBool.TRUE‑ra kell állítani.

Ez a Python kód megmutatja, hogyan használja a Wrap Text beállítást egy PowerPoint‑prezentációban:

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

with slides.Presentation() as presentation:
    slide = presentation.slides[0]
    auto_shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 30, 30, 350, 100)

    portion = slides.Portion("lorem ipsum...")
    portion.portion_format.fill_format.solid_fill_color.color = draw.Color.black
    portion.portion_format.fill_format.fill_type = slides.FillType.SOLID
    auto_shape.text_frame.paragraphs[0].portions.add(portion)

    text_frame_format = auto_shape.text_frame.text_frame_format
    text_frame_format.autofit_type = slides.TextAutofitType.NONE
    text_frame_format.wrap_text = slides.NullableBool.TRUE

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

FAQ

Befolyásolják a szövegkeret belső margói az AutoFit működését?

Igen. A padding (belső margók) csökkentik a szöveg használható területét, így az AutoFit hamarabb aktiválódik – csökkenti a betűméretet vagy átméretezi a formát korábban. Ellenőrizze és állítsa be a margókat, mielőtt finomhangolná az AutoFitet.

Hogyan működik az AutoFit a kézi és puha sortörésekhez viszonyítva?

A kényszerített sortörések megmaradnak, az AutoFit ennek körül a betűméretet és a szóközöket igazítja. A felesleges sortörések eltávolítása gyakran csökkenti az AutoFit által szükséges szövegcsökkentés mértékét.

A téma betűtípusának módosítása vagy a betűtípus helyettesítés hatással van-e az AutoFit eredményére?

Igen. A betűtípusra való átállás, amely eltérő glifméretekkel rendelkezik, megváltoztatja a szöveg szélességét/magasságát, ami módosíthatja a végső betűméretet és a sortörést. Bármilyen betűtípus‑változtatás vagy helyettesítés után ellenőrizze újra a diák megjelenését.