因工作上需要,将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文档相关推荐

  1. 2021-01-26 Python自动化办公-处理word文档

    Python自动化办公-处理word文档 年底项目投标,需要整理大量的内容,标书的很多内容是其实是之前的标书重复的,可以把对应的各个部分内容合并,然后再处理格式等.如果采用常规操作每次操作需要打开子目 ...

  2. C# 合并及拆分Word文档

    C# 合并及拆分Word文档 本文简要分析一下如何如何使用C#简单实现合并和拆分word文档.平时我们在处理多个word文档时,可能会想要将两个文档合并为一个,或者是将某个文档的一部分添加到另一个文档 ...

  3. Python学习之批量word文档转pdf并统计其页码

    pypdf2是一个Python模块,可以用来读取.写入和操作PDF文件.要安装pypdf2模块,请按照以下步骤操作: 确保你已经安装了Python.你可以在终端或命令提示符中输入python --ve ...

  4. python 自动生成word文档,python实现的生成word文档功能示例

    python实现的生成word文档功能示例 发布时间:2020-09-23 11:37:44 来源:脚本之家 阅读:108 作者:zhizunyu2009 本文实例讲述了python实现的生成word ...

  5. python-docx中文开发文档_使用Python语言-docx生成Word文档

    本文主要向大家介绍了使用Python语言-docx生成Word文档,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. < 学会来使用python操作数据表和PDF,今天我们尝试 ...

  6. python获取pdf和word文档页数

    python获取word文档和pdf文档页数的方法 1.获取pdf页码数 这里要使用到 pdfplumber 这个库,首先导入 没有安装的同学还需要先安装 pip install pdfplumber ...

  7. 用python来构建一个word文档-写文章

    直接使用word文档已经难不倒大家了,有没有想过用python构建一个word文档写点文章呢?当然这个文章的框架需要我们用代码一点点的建立,在过程上有一点繁琐,一下子看不懂的小伙伴可以把它拆分成几个部 ...

  8. kettle使用数据库来生成序列_Python办公自动化:使用python来自动生成word文档

    让python做办公自动化,让你闲下来 让python做自动化,让你闲下来 上节对python的excel Python办公自动化系列:自动操作Excel自动化做了介绍.这次介绍如何用python对w ...

  9. selenium python文档_selenium+python实现百度文库word文档抓取

    更新这个代码最近又改了一点,另外和其他一些小程序一起放在了一个jupyter notebook里,现在挂在github上面.github现在对jupyter notebook的支持非常的好,甚至可以直 ...

  10. java根据模板生成word文档_Python办公自动化:使用python来自动生成word文档

    让python做办公自动化,让你闲下来 让python做自动化,让你闲下来 上节对python的excel Python办公自动化系列:自动操作Excel自动化做了介绍.这次介绍如何用python对w ...

最新文章

  1. Ubuntu14.04上安装TensorRT 2.1操作步骤
  2. 加强原始创新和基础研究的前提:三项破解之策
  3. Open-E DSS V7 应用系列之三 Web管理简介
  4. java——File类常用方法
  5. 操作系统设计与实现第3版笔记与minix3心得(5)-操作系统发展历史(3)
  6. Android工具大杂烩
  7. 车道线识别/Opencv/传统方法
  8. 2017年计算机基础知识答题宝典,最全全国计算机基础知识试题及答案考级宝典(2018)..pdf...
  9. Android开发笔记(五十四)数据共享接口ContentProvider
  10. Linux 之CentOS7使用firewalld打开关闭防火墙与端口
  11. linux 内存坏了,Linux的缓存内存 Cache Memory详解
  12. c语言数学函数库根号程序,数学函数8.2.3次方与开根号C语言入门经典.ppt
  13. 新浪微博开放平台中的Redis实践
  14. 平板连接远程Linux,如何从Android平板电脑远程控制Ubuntu | MOS86
  15. (转)没有自制力的人有什么资格谈努力?
  16. 基于空间句法的城市道路可达性分析
  17. java回溯算法_回溯算法讲解--适用于leetcode绝大多数回溯题目
  18. 2022年有高级软考职称可以入深户吗?
  19. Java实现三角形打印
  20. 中南大学上机:PIPI的DNA序列

热门文章

  1. 华为鸿蒙系统支持什么手机_华为鸿蒙系统支持的手机型号_鸿蒙系统支持华为哪几款手机...
  2. Mysql计算同比环比(超详细)
  3. java 前后端分离教程,Java web前后端分离
  4. 当面试官说“你还有什么问题想问的”,你该如何回答?
  5. 转载-解决word导出pdf图片变模糊的问题
  6. 车载芯片分类、用途、供应商
  7. uni-app 小程序开发 (一)
  8. 两个小米路由器mini无线桥接
  9. 计算长方体、四棱锥的表面积和体积(Java)
  10. 不已0开头的数字正则