Python按页拆分Word文档
因工作上需要,将word文档进行拆分分别找了Python和Java的解决方案,其中Java版本使用
Spire.Doc库(Spire.Doc for Java 中文教程),只能按照段落去拆分文档。代码分享如下:
Python版本
# coding: utf-8
import win32com
from win32com.client import Dispatch, DispatchEx
import osdef copy_doc(doc, page_no):try:doc_add = word.Documents.Add()newFile = 'test_new%d.docx' % page_nodoc_add.SaveAs(os.path.abspath(newFile)) # 创建新文件doc_new = word.Documents.Open(os.path.abspath(newFile))# 页对象pages = doc.ActiveWindow.Panes(1).Pages.Countif page_no > pages:print("指定页索引超出已有页面")else:objRectangles = doc.ActiveWindow.Panes(1).Pages(page_no).Rectanglesfor i in range(objRectangles.Count):objRectangles.Item(i+1).Range.Copy()doc_new.Range(doc_new.Content.End - 1,doc_new.Content.End - 1).Paste()doc_new.Save()doc_new.Close()except Exception as e:print(e)word = Dispatch('Word.Application') # 打开word应用程序
try:word.Visible = 0 # 后台运行,不显示word.DisplayAlerts = 0 # 不警告path = os.path.abspath('D:\\tmp\\sample.docx') # word文件路径doc = word.Documents.Open(FileName=path)# 页对象pages = doc.ActiveWindow.Panes(1).Pages.Countfor i in range(1,pages + 1):copy_doc(doc, i)doc.Close()
except Exception as e:print(e)
finally:word.Quit
Java版本
import com.spire.doc.Bookmark;
import com.spire.doc.Document;
import com.spire.doc.collections.BookmarkCollection;public class Main {public static void main(String[] args) {//加载Word文档Document doc = new Document();doc.loadFromFile("D:\\tmp\\2.docx");//声明新的Document对象Document newWord;int pageCount = doc.getPageCount();//遍历源文档中的节for (int i = 0; i < doc.getSections().getCount(); i++) {//初始化新的Document对象newWord = new Document();//将源文档中的指定节复制到新文档newWord.getSections().add(doc.getSections().get(i).deepClone());//保存新文档到指定文件夹newWord.saveToFile(String.format("拆分结果-%d.docx", i));}}
}
Python按页拆分Word文档相关推荐
- 2021-01-26 Python自动化办公-处理word文档
Python自动化办公-处理word文档 年底项目投标,需要整理大量的内容,标书的很多内容是其实是之前的标书重复的,可以把对应的各个部分内容合并,然后再处理格式等.如果采用常规操作每次操作需要打开子目 ...
- C# 合并及拆分Word文档
C# 合并及拆分Word文档 本文简要分析一下如何如何使用C#简单实现合并和拆分word文档.平时我们在处理多个word文档时,可能会想要将两个文档合并为一个,或者是将某个文档的一部分添加到另一个文档 ...
- Python学习之批量word文档转pdf并统计其页码
pypdf2是一个Python模块,可以用来读取.写入和操作PDF文件.要安装pypdf2模块,请按照以下步骤操作: 确保你已经安装了Python.你可以在终端或命令提示符中输入python --ve ...
- python 自动生成word文档,python实现的生成word文档功能示例
python实现的生成word文档功能示例 发布时间:2020-09-23 11:37:44 来源:脚本之家 阅读:108 作者:zhizunyu2009 本文实例讲述了python实现的生成word ...
- python-docx中文开发文档_使用Python语言-docx生成Word文档
本文主要向大家介绍了使用Python语言-docx生成Word文档,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. < 学会来使用python操作数据表和PDF,今天我们尝试 ...
- python获取pdf和word文档页数
python获取word文档和pdf文档页数的方法 1.获取pdf页码数 这里要使用到 pdfplumber 这个库,首先导入 没有安装的同学还需要先安装 pip install pdfplumber ...
- 用python来构建一个word文档-写文章
直接使用word文档已经难不倒大家了,有没有想过用python构建一个word文档写点文章呢?当然这个文章的框架需要我们用代码一点点的建立,在过程上有一点繁琐,一下子看不懂的小伙伴可以把它拆分成几个部 ...
- kettle使用数据库来生成序列_Python办公自动化:使用python来自动生成word文档
让python做办公自动化,让你闲下来 让python做自动化,让你闲下来 上节对python的excel Python办公自动化系列:自动操作Excel自动化做了介绍.这次介绍如何用python对w ...
- selenium python文档_selenium+python实现百度文库word文档抓取
更新这个代码最近又改了一点,另外和其他一些小程序一起放在了一个jupyter notebook里,现在挂在github上面.github现在对jupyter notebook的支持非常的好,甚至可以直 ...
- java根据模板生成word文档_Python办公自动化:使用python来自动生成word文档
让python做办公自动化,让你闲下来 让python做自动化,让你闲下来 上节对python的excel Python办公自动化系列:自动操作Excel自动化做了介绍.这次介绍如何用python对w ...
最新文章
- Ubuntu14.04上安装TensorRT 2.1操作步骤
- 加强原始创新和基础研究的前提:三项破解之策
- Open-E DSS V7 应用系列之三 Web管理简介
- java——File类常用方法
- 操作系统设计与实现第3版笔记与minix3心得(5)-操作系统发展历史(3)
- Android工具大杂烩
- 车道线识别/Opencv/传统方法
- 2017年计算机基础知识答题宝典,最全全国计算机基础知识试题及答案考级宝典(2018)..pdf...
- Android开发笔记(五十四)数据共享接口ContentProvider
- Linux 之CentOS7使用firewalld打开关闭防火墙与端口
- linux 内存坏了,Linux的缓存内存 Cache Memory详解
- c语言数学函数库根号程序,数学函数8.2.3次方与开根号C语言入门经典.ppt
- 新浪微博开放平台中的Redis实践
- 平板连接远程Linux,如何从Android平板电脑远程控制Ubuntu | MOS86
- (转)没有自制力的人有什么资格谈努力?
- 基于空间句法的城市道路可达性分析
- java回溯算法_回溯算法讲解--适用于leetcode绝大多数回溯题目
- 2022年有高级软考职称可以入深户吗?
- Java实现三角形打印
- 中南大学上机:PIPI的DNA序列