php操作Word之com组件-获取word文档页码和更新目录

2024-06-04 19:32

本文主要是介绍php操作Word之com组件-获取word文档页码和更新目录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

此文章包含:

  1、win10系统中:com组件配置和为什么找不到 Microsoft Word 97 - 2003 文档 的解决方法

  2、调用com获取word文档总页码

  3、调用com自动更新文档目录、或只更新word原目录的页码

一.com组件

1.1打开和配置:

参考资料

https://blog.csdn.net/ken2999/article/details/82353747?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-6&spm=1001.2101.3001.4242

https://www.cnblogs.com/jasonxiaoqinde/p/9442546.html

1.2遇到问题

 A:在win2008server和win10中均在 DCOM配置 中找到 Microsoft Word 97 - 2003 文档 

   问题描述:用的office软件是2016、2010、2013、wps2019均试过,均没有找到 Microsoft Word 97 - 2003 文档 。

  尝试方法:https://blog.csdn.net/chang_chao_123/article/details/51313010

                   https://my.oschina.net/maojindaoGG/blog/1794878

   均不行!!!!

  解决办法:

                 1.全部卸载office相关软件;

                 2.安装office2013;

                3.随便打开一个word的docx、doc文件;一个excel的xlsx、xls文件;

 问题原因:

   打开docx和xlsx还是没出现“Microsoft Word 97 - 2003 文档”,打开docxls文件后就出现了!

二.获取word文档页码

参考:https://blog.csdn.net/wang740209668/article/details/108715888  运行速度很慢,请耐心等待

//此代码是在thinkphp中调试
function getWordPage($file){$word = new \com("word.application",null,CP_UTF8) or die("Unable to instantiate Word");$word->Visible = 0;$word->Documents->Open($file,true,false);$docRange = $word->ActiveDocument->Content;$page  = $docRange->Information(4);//wdNumberOfPagesInDocument 页数$word->Quit();$word = null;return $page;
}

 三.更新word目录或者只更新目录的页码

php更新方法目前在网上没有找到,下面的代码是参考python的方法(我没运行成功,本来想着做个python接口实现更新目录,一直运行失败)

https://word.tips.net/T000301_Updating_an_Entire_TOC_from_a_Macro.html%5d

//此代码是在thinkphp中调试
function updateWord($file){$word = new \com("word.application",null,CP_UTF8) or die("Unable to instantiate Word");$word->Visible = 0;$word->Documents->Open($file,true,false);//$word->ActiveDocument->TablesOfContents(1)->Update();//更新目录和页码$word->ActiveDocument->TablesOfContents(1)->UpdatePageNumbers();//只更新页码$word->ActiveDocument->Save();$word->Quit();$word = null;}

这篇关于php操作Word之com组件-获取word文档页码和更新目录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1030912

相关文章

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

Python内存管理机制之垃圾回收与引用计数操作全过程

《Python内存管理机制之垃圾回收与引用计数操作全过程》SQLAlchemy是Python中最流行的ORM(对象关系映射)框架之一,它提供了高效且灵活的数据库操作方式,本文将介绍如何使用SQLAlc... 目录安装核心概念连接数据库定义数据模型创建数据库表基本CRUD操作创建数据读取数据更新数据删除数据查

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc