Python pptx-在多行打印时,句子被拆分
我是从.pptx打印出来的,但是从某个地方把一个句子分成了几行。这是一张幻灯片的截图。。 当阅读下面的代码时。。 从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
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
标记。以下是链接-