422456w 发表于 2021-10-29 01:19

请教python怎么判断word是否跳到下一页了?

我有一些内容需要复制到word中,word有统一的模板,例如最后一段话是“中国”,复制的所有的内容都在“中国”两个字之前。如果我内容复制太多,“中国”两个字就会跳到下一页。

现在的问题是想通过“中国”两个字是否跳到下一页来决定复制多少内容

请问我怎么判断“中国”两个字是否跳到下一页了?

allrobot 发表于 2021-10-29 08:28

WORD右下角有显示当前页面的

孤钓老叟 发表于 2021-10-29 08:37

想到一个笨方法,不知是否可行,内容格式、页边距等设定好之后每一页容量是固定的,计算下就可以了吧。

baikeryoyo 发表于 2021-10-29 08:56

可以对内容做一个判断把,如果遍历里面出现字符串中国,那么就另起一页

baikeryoyo 发表于 2021-10-29 08:58

或者笨办法,全复制完之后,在word里查找替换全部

baikeryoyo 发表于 2021-10-29 08:59

baikeryoyo 发表于 2021-10-29 08:58
或者笨办法,全复制完之后,在word里查找替换全部

word中的分页符、换行符、回车符分别用^m、^L、^P表示
替换把所有的中国改为中国^m

Loker 发表于 2021-10-29 09:35

计算插入前和插入后的总页数,不相等就下一页了呗

Geoffrey 发表于 2021-10-29 10:22

全都读进来用正则化匹配,或者按你说的直接strsplit

The-rapist 发表于 2021-10-29 10:57

获取word文档页码数
这里我们需要用到pythoncom和win32com这两个库,先导入

import pythoncom
import win32com
代码如下

#获取word文档页数
def get_word_page(word_path):       
    pythoncom.CoInitialize()
    # 调用word程序,不在前台显示
    w = win32com.client.Dispatch("Word.Application")
    w.Visible = 0
    w.DisplayAlerts = 0
    # 打开一个word文档
    doc = w.Documents.Open(word_path)
    # 获取总页数
    w.ActiveDocument.Repaginate()
    pages = w.ActiveDocument.ComputeStatistics(2)
    print(pages)
    # 保存并关闭
    doc.SaveAs('test.docx')
    doc.Close()
    return pages

The-rapist 发表于 2021-10-29 10:57

获取到页数变多就再写代码
https://blog.csdn.net/Twinkle_sone/article/details/116004031
页: [1] 2
查看完整版本: 请教python怎么判断word是否跳到下一页了?