Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.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
pythondocx,制作一个word文件,需要检测是否在新页面上_Python_Python Docx - Fatal编程技术网

pythondocx,制作一个word文件,需要检测是否在新页面上

pythondocx,制作一个word文件,需要检测是否在新页面上,python,python-docx,Python,Python Docx,我使用的是根据数据的需要生成大量的文档。使用常规文档插入图形时有几个部分。添加图片命令如下: document.add_picture(img_after_crop, width=Inches(width)) 我遇到的问题是,许多图片都是完成一个部分的图表,因此在图表之后我想移动到新页面,但是图像的大小不同,因此有时它们已经填满了页面。因此,如果我在图像后放置分页符,有时会得到一个漂亮的图形,然后是下一节的新页面,其他时候(如果图像填充页面),流已经移动到下一页,分页符将留下一个空页面。我正

我使用的是根据数据的需要生成大量的文档。使用常规文档插入图形时有几个部分。添加图片命令如下:

document.add_picture(img_after_crop, width=Inches(width)) 
我遇到的问题是,许多图片都是完成一个部分的图表,因此在图表之后我想移动到新页面,但是图像的大小不同,因此有时它们已经填满了页面。因此,如果我在图像后放置分页符,有时会得到一个漂亮的图形,然后是下一节的新页面,其他时候(如果图像填充页面),流已经移动到下一页,分页符将留下一个空页面。我正在寻找一种方法来防止这种情况。如果有一种获取当前页码的好方法,我可以看看如何解决这个问题。移动到使用“节”会解决这个问题吗(例如,如果我们已经在空白页上,节是否会自动开始一个新页面,但不会推进页面)?在正在处理的文档中检测页面推进将是理想的,但我愿意接受任何解决方案

解决方案

下面是简短的正确答案,但我花了一些尝试和错误来找出正确的使用方法,因此记录在案的是,这里有一个关于如何使用page_break_之前使标题或段落跳转到下一页的最小代码片段:

from docx import Document
document = Document()
document.add_heading('Document title', 0)
para = document.add_heading("This heading goes at the top of a new page", level=1)
para.paragraph_format.page_break_before=True
document.add_paragraph('Just some text goes here. This is a normal paragraph')
document.save('Doctest.docx')

这个python将生成一个测试词文档,其中标题位于第一页,然后标题跳转到下一页,下面的段落就在它下面。关键技巧是段落格式访问,它还允许您使用对齐设置、保持在一起设置等。我需要从几个示例中拼凑出它,以确定在何处精确设置该值,因此我决定将其发布给后代。

尝试将图像后面的段落格式设置为
。page\u break\u before=True
。单词呈现引擎足够智能,如果段落恰好首先出现在新页面上,则不会添加额外的分页符