问了 gpt 。只会让用 python-docx ,但是用这个包切出来都是缺失格式的,图片跟表格都丢了,而且分不了页,用了下 aspose 的包,确实可以不丢格式,但是那是商用的。大家有知道的吗
![]() |
1
whatv3 67 天前
用 word 里的 vbs 宏,之前写过一个脚本帮助专利同事自动把文档分割成专利五书...
|
2
qazzz 67 天前
不知道,但是 gpt 告诉我的:
使用宏自动拆分 以下是一个示例 VBA 宏,它可以自动将 Word 文档按页拆分为多个 .docx 文件: 打开宏编辑器: 打开你的 Word 文档。 按 Alt + F11 打开宏编辑器。 插入新模块: 在宏编辑器中,选择“插入” > “模块”,然后将以下代码粘贴到新模块中: vba 复制代码 Sub SplitDocumentByPages() Dim doc As Document Dim page As Range Dim newDoc As Document Dim i As Integer Dim pageNumber As Integer Set doc = ActiveDocument pageNumber = doc.ComputeStatistics(wdStatisticPages) For i = 1 To pageNumber Set page = doc.Range.GoTo(What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=i) page.End = doc.Range.GoTo(What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=i + 1).Start page.End = page.End - 1 Set newDoc = Documents.Add newDoc.Range.FormattedText = page.FormattedText newDoc.SaveAs2 FileName:=doc.Path & "\Page" & i & ".docx" newDoc.Close Next i End Sub 运行宏: 关闭宏编辑器。 按 Alt + F8 打开宏列表。 选择 SplitDocumentByPages 并运行它。 这个宏将会自动将当前打开的 Word 文档按页拆分,并将每一页保存为一个新的 .docx 文件。这些文件将保存到与原始文档相同的文件夹中,文件名格式为 Page1.docx 、Page2.docx ,以此类推。 |
![]() |
3
totoro625 67 天前
临时用还是要写脚本跑大量数据?
应急: 1 、打印成 PDF 2 、WPS 自带 PDF 拆分 3 、PDF 批量转成 Word |
4
loopinfor 67 天前
如果可以转 PDF 就转 PDF 再分页保存。
也可以用大纲来解决,要分页的地方设置个一级大纲级别的文字,然后在大纲视图里面全选->创建->保存,就可以了。 |
![]() |
8
kmyq 67 天前
python 有个操作 doc 的库吧,可以部署在 linux
|
![]() |
10
kasusa 67 天前
c# de xceed 能用。github 有免费版
|
11
heinz97 67 天前
我专门研究 docx 的,python-docx 功能很基础,完美的开源分割解决方法不存在
|
13
iOCZS 67 天前
页是排版的结果吧,数据本身有页的概念吗?
|
![]() |
14
summerwar 67 天前
跨页的表格打算如何处理?
|
15
paopjian 67 天前
分页是排版后的结果吧,你怎么保证这一页内容不是被上一页挤下来的?如果上一页没了那这页内容可就浮上去了
|
![]() |
16
undeflife 67 天前
应该可以用 LibreofficeKit 来操作
https://github.com/LibreOffice/core/blob/master/include/LibreOfficeKit/LibreOfficeKit.hxx |
17
jackmod 67 天前
docx 格式要自己计算内容高度啊,这也太痛苦了。
如果 LibreOffice 没有相关接口的话就只能自己写个渲染器了。 |
18
TsubasaHanekaw 67 天前 ![]() 找台 windows 服务器,安装 office,调用 com+接口效果应该最完美了
|
![]() |
21
luzemin 66 天前
docx 的话那就找个编程语言操作 OpenXML 就好
|