Python-pptx - 在多行打印时,句子被拆分

我正在从 .pptx 打印,但单个句子从某处拆分为新行。这是幻灯片的屏幕截图。

http://img3.mukewang.com/60d1a16f0001010f06140244.jpg

阅读以下代码时.. from pptx import Presentation


prs = 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 Lutz

Python Essential Reference 

by David Beazley

Python 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”甚至子弹越来越少。


如何解决这个问题?


翻阅古今
浏览 131回答 1
1回答

慕容森

简短的回答是paragraph.text不使用run.text:for paragraph in shape.text_frame.paragraphs:    print(paragraph.text)段落是一个连贯的文本块,它在页边空白之间流动,没有垂直中断。这是用户区别,因为它会影响我们阅读内容的方式。运行是具有相同字符格式(即字体,但包括粗体、斜体等)的字符序列。运行是一种技术上的区别,因为它们的界限对读者来说不应该是显而易见的;它们只是用来告诉 PowerPoint“将此字符格式应用于所有这些字符”。如果您单独打印每次运行,它们将在段落中看似随机的位置中断,至少取决于斜体打开和关闭的位置,但在其他位置也经常出现,例如有人编辑以添加几个字符的位置。PowerPoint 不一定会尽量减少运行次数,即使连续两次运行具有相同的格式也是如此。因此,它们倾向于增殖。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python