我正在从 .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
提交
取消