pythonptx句子被拆分,而打印成多行

2024-04-20 07:32:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我是用.pptx打印的,但是单句从某处被分成了新的行。这是一张幻灯片的截图。。 enter image description here

当阅读下面的代码。。 从pptx导入演示文稿

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)

正在获取如下输出。。。在

^{pr2}$

你可以把pptx的截图和pptx的打印文本进行比较,项目符号被分成两个或更多的句子……比如“marklutz学习Python”和“marklutz学习Python”两个点,甚至连项目符号都被漏掉了。在

如何解决这个问题?在


Tags: 项目runtextinfor符号frame幻灯片
1条回答
网友
1楼 · 发布于 2024-04-20 07:32:45

简短的回答是使用paragraph.text而不是run.text

for paragraph in shape.text_frame.paragraphs:
    print(paragraph.text)

段落是一个连贯的文本块,在页边距之间流动,没有垂直分隔符。这是一个用户的区别,因为它会影响我们阅读内容的方式。运行是共享相同字符格式(即字体,但包括粗体、斜体等)的字符序列。运行是一个技术上的区别,因为它们的边界对于读者来说不应该很明显;它们只是用来告诉PowerPoint“将此字符格式应用于所有这些字符”。在

如果你单独打印每一行,它们会在段落中看似随机的位置中断,至少取决于斜体字的打开和关闭位置,但也经常在其他位置中断,比如有人编辑添加了几个字符。即使连续两次运行的格式相同,PowerPoint也不一定会减少运行次数。因此,它们往往会扩散。在

相关问题 更多 >