为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

翻阅古今 2021-06-09 18:41:44
我正在从 .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 不一定会尽量减少运行次数,即使连续两次运行具有相同的格式也是如此。因此,它们倾向于增殖。


查看完整回答
反对 回复 2021-06-22
  • 1 回答
  • 0 关注
  • 130 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信