Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pptx-在多行打印时,句子被拆分_Python_Python 3.x_Python 2.7_Powerpoint_Python Pptx - Fatal编程技术网

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

Python pptx-在多行打印时,句子被拆分,python,python-3.x,python-2.7,powerpoint,python-pptx,Python,Python 3.x,Python 2.7,Powerpoint,Python Pptx,我是从.pptx打印出来的,但是从某个地方把一个句子分成了几行。这是一张幻灯片的截图。。 当阅读下面的代码时。。 从pptx导入演示文稿 prs = Presentation(path_to_presentation) for slide in prs.slides: for shape in slide.shapes: if not shape.has_text_frame: continue for

我是从.pptx打印出来的,但是从某个地方把一个句子分成了几行。这是一张幻灯片的截图。。

当阅读下面的代码时。。 从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)
正在获得如下所示的输出

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的打印文本,要点被分成两个或多个句子..就像“Mark Lutz学习Python”打印成两个要点“Learning Python”和“by Mark Lutz”,甚至连要点都被遗漏了


如何解决此问题?

简短的回答是使用
段落。text
而不是
运行。text

for paragraph in shape.text_frame.paragraphs:
    print(paragraph.text)
段落是一个连贯的文本块,在页边空白处流动,没有垂直的中断。这是用户的区别,因为它影响我们阅读内容的方式。运行是共享相同字符格式(即字体,但包括粗体、斜体等)的字符序列。跑步是一种技术上的区别,因为它们的界限对读者来说不太明显;它们只是用来告诉PowerPoint“将此字符格式应用于所有这些字符”


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

简短的回答是使用
段落。文本
而不是
运行。文本

for paragraph in shape.text_frame.paragraphs:
    print(paragraph.text)
段落是一个连贯的文本块,在页边空白处流动,没有垂直的中断。这是用户的区别,因为它影响我们阅读内容的方式。运行是共享相同字符格式(即字体,但包括粗体、斜体等)的字符序列。跑步是一种技术上的区别,因为它们的界限对读者来说不太明显;它们只是用来告诉PowerPoint“将此字符格式应用于所有这些字符”


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

感谢您的精彩解释。我浏览了python pptx文档,发现我们可以使用python创建pptx并添加新幻灯片。添加幻灯片。然而,当我试图制作一个包含4张幻灯片的新pptx时,旧pptx(4张幻灯片)无法做到这一点。可能是我的方法错误`来自pptx导入演示文稿。下面是代码..我在现有代码中又添加了2-3行。。它不起作用<代码>从pptx导入演示文稿prs1=Presentation()prs=Presentation('Python.pptx')title_slide_layout=prs1.slides_layout[0]用于幻灯片中的幻灯片。幻灯片:用于幻灯片中的形状。形状:如果不是形状。有文本框:继续用于形状中的段落。文本框。段落:#打印(段落.text)s=prs1.slides.add_slide(段落.text)prs1.save('new.pptx'))
这听起来像是一个新问题@RonyA,如果你单独发布,我会看一看。确保在新问题上使用
python-pptx
标记。这里是链接-感谢你的精彩解释。我浏览了python-pptx文档,发现我们可以使用python创建pptx并添加新幻灯片。添加幻灯片。但是当我试图制作一个包含4张幻灯片的新pptx,而旧pptx(4张幻灯片)无法做到这一点。可能是我的方法错误`来自pptx导入演示文稿。下面是代码..我在现有代码中又添加了2-3行..它不起作用..
来自pptx导入演示文稿prs1=Presentation()prs=Presentation('Python.pptx'))title_slide_layout=prs1。幻灯片中幻灯片的幻灯片布局[0]。幻灯片:幻灯片中的形状。形状:如果没有形状。有文本框:在形状中段落继续。文本框。段落:#打印(段落.文本)s=prs1。幻灯片。添加幻灯片(段落.文本)prs1.save('new.pptx')
这听起来像是一个新问题@RonyA,如果你单独发布,我会看一看。确保在新问题上使用
python-pptx
标记。以下是链接-