我是用.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)
正在获取如下输出。。。在
^{pr2}$你可以把pptx的截图和pptx的打印文本进行比较,项目符号被分成两个或更多的句子……比如“marklutz学习Python”和“marklutz学习Python”两个点,甚至连项目符号都被漏掉了。在
如何解决这个问题?在
简短的回答是使用
paragraph.text
而不是run.text
:段落是一个连贯的文本块,在页边距之间流动,没有垂直分隔符。这是一个用户的区别,因为它会影响我们阅读内容的方式。运行是共享相同字符格式(即字体,但包括粗体、斜体等)的字符序列。运行是一个技术上的区别,因为它们的边界对于读者来说不应该很明显;它们只是用来告诉PowerPoint“将此字符格式应用于所有这些字符”。在
如果你单独打印每一行,它们会在段落中看似随机的位置中断,至少取决于斜体字的打开和关闭位置,但也经常在其他位置中断,比如有人编辑添加了几个字符。即使连续两次运行的格式相同,PowerPoint也不一定会减少运行次数。因此,它们往往会扩散。在
相关问题 更多 >
编程相关推荐