我正在從 .pptx 打印,但單個句子從某處拆分為新行。這是幻燈片的屏幕截圖。閱讀以下代碼時.. from pptx import Presentationprs = Presentation(path_to_presentation)for slide in prs.slides: for shape in slide.shapes: if not shape.has_text_frame: continue for paragraph in shape.text_frame.paragraphs: for run in paragraph.runs: print(run.text)獲得如下輸出...Books include:Learning Python by Mark LutzPython Essential Reference by David BeazleyPython Cookbook, ed. by Martelli, Ravenscroft and Ascher(online at http://code.activestate.com/recipes/langs/python/)http://wiki.python.org/moin/PythonBooks你可以比較 pptx 的截圖和 pptx 的打印文本,項目符號被分成兩個或更多的句子..比如“Learning Python by Mark Lutz”打印在 2 點“Learning Python”和“by Mark Lutz”甚至子彈越來越少。如何解決這個問題?
1 回答

慕容森
TA貢獻1853條經驗 獲得超18個贊
簡短的回答是paragraph.text不使用run.text:
for paragraph in shape.text_frame.paragraphs:
print(paragraph.text)
段落是一個連貫的文本塊,它在頁邊空白之間流動,沒有垂直中斷。這是用戶區別,因為它會影響我們閱讀內容的方式。運行是具有相同字符格式(即字體,但包括粗體、斜體等)的字符序列。運行是一種技術上的區別,因為它們的界限對讀者來說不應該是顯而易見的;它們只是用來告訴 PowerPoint“將此字符格式應用于所有這些字符”。
如果您單獨打印每次運行,它們將在段落中看似隨機的位置中斷,至少取決于斜體打開和關閉的位置,但在其他位置也經常出現,例如有人編輯以添加幾個字符的位置。PowerPoint 不一定會盡量減少運行次數,即使連續兩次運行具有相同的格式也是如此。因此,它們傾向于增殖。
添加回答
舉報
0/150
提交
取消