Search code examples
pandastextautomationpowerpointpython-pptx

How to make long text fit into a text_frame? Python-pptx


I'm working with python-ppt to create a portfolio of candidates in a Powerpoint presentation. There is one candidate per slide and each of them has provided information about themselves like name, contacts and a minibio (the problem I'm here to solve)

The text_frame, created with values of height and width, must fit the slide but must a contain all lenght of minibios, which is not happening.

In a long phase (>200 char, with font size 12) it exceeds the size of the text box and get "out" of the slide, so, in presentation mode or a PDF file, the "overrun" of text is lost

Is there any way to confine the text to the shape/size of the text_frame? (extra help if the solution wont change font size)


Solution

  • Just found one parameter that helped to find the answer

    When creating a text_box object with slides.shapes.add_textbox() and adding a text_frame to it, the text_frame.word_wrap = True limits the text to be contained inside the dimentions of the text_box

    The code shows it better

    
        # creates text box with add_textbox(left, top, width, height)
        txBox = slide.shapes.add_textbox(Cm(16),Cm(5),Cm(17),Cm(13))
        tf = txBox.text_frame
        tf.word_wrap = True
    
    

    Before word_wrap parameter

    After word_wrap parameter