說明:
python-pptx 寫入文本,如果沒有換行符,默認是一行。要實現自動換行的效果,應該在適當的地方插入換行符。
代碼:
# 加載庫
import os from pptx import Presentation from pptx.util import Cm, Pt from pptx.enum.text import PP_ALIGN
# 設置路徑
work_path = r'E:\pyspace\tmp\pptx' os.chdir(work_path) # 實例化 ppt 文檔對象
prs = Presentation() # 插入幻燈片
blank_slide = prs.slide_layouts[6] slide_1 = prs.slides.add_slide(blank_slide) # 預設位置及大小
left = top = Cm(1) # left,top為相對位置
width = Cm(20) # width,height為文本框的大小
height = Cm(10) # 在指定位置添加文本框
textbox = slide_1.shapes.add_textbox(left, top, width, height) tf = textbox.text_frame # 在文本框中寫入文字 ## 題目
para = tf.add_paragraph() # 新增段落
para.text = '我儂詞' # 向段落寫入文字
para.alignment = PP_ALIGN.CENTER # 居中
para.line_spacing = 1.5 # 1.5 倍的行距
### 設置字體
font = para.font font.name = '微軟雅黑' # 字體類型
font.bold = True # 加粗
font.size = Pt(32) # 大小
## 作者
new_para = tf.add_paragraph() # 添加段落
new_para.text = '\t\t\t元 · 管道昇 ' # 段落文字
new_para.alignment = PP_ALIGN.CENTER # 居中
new_para.line_spacing = 1.5 # 1.5 倍的行距 ### 設置字體
font = new_para.font font.name = '微軟雅黑' # 字體類型
font.size = Pt(18) # 大小
font.underline = False # 下划線
## 分三行寫入正文 ### 正文文本
s ='你儂我儂,忒煞情多;情多處,熱如火;把一塊泥,捻一個你,塑一個我,將咱兩個一齊打碎,用水調和;\ 再捻一個你,再塑一個我。我泥中有你,你泥中有我;我與你生同一個衾,死同一個槨。' d = len(s)//3 + 1 ts = list(s) for i in range(3): ts.insert((i+1)*d - 2 + i, '\n') # 插入換行符
s = ''.join(ts) ### 寫入正文
new_para = tf.add_paragraph() # 添加段落
new_para.text = s new_para.line_spacing = 1.5 # 1.5 倍的行距
# 保存 ppt
prs.save('test.pptx')
效果: