**先说结论:**经过尝试,我发现用LibreOffice生成或者更新的文档目录(TOC:Table of Contents),用WPS Office打开,按Ctrl键再点击无法跟踪链接;用LibreOffice或者Microsoft Word打开按住Ctrl键可以点击跳转
例如,这个文档目录是用python通过UNO访问LibreOffice更新过的:

1、用LibreOffice打开,按住Ctrl键,然后点击某个目录项,是可以跳转到链接的标题处的。
2、但是,用WPS Office打开,按住Ctrl键,然后点击某个目录项,出现出错提示,无法跳转到链接的标题处。看起来,WPS的兼容性是有点问题:

下面,说说我对这个问题的发现、定位过程。
我本来是借鉴别人的代码,在python中通过UNO调用LibreOffice来更新用python-docx生成的文档的目录(TOC:table of contents)。
我参考了:https://github.com/typhoon-hil/LibreOfficeToPDF和https://www.linuxjournal.com/content/starting-stopping-and-connecting-openoffice-python
代码片段:

# 更新文档目录  dispatcher.executeDispatch(doc, ".uno:UpdateAllIndexes", "", 0, ())    # Savingopts = []if ext == '.docx':struct = uno.createUnoStruct("com.sun.star.beans.PropertyValue")struct.Name = "FilterName"# docx文档格式struct.Value = "MS Word 2007 XML"             opts.append(struct)    struct = uno.createUnoStruct('com.sun.star.beans.PropertyValue')struct.Name = 'URL'    struct.Value = fileUrl_newopts.append(struct)# 另存为        dispatcher.executeDispatch(doc, ".uno:SaveAs", "", 0, tuple(opts))# 关闭文档。如果不关闭的话,文档会被lockdispatcher.executeDispatch(doc, ".uno:CloseDoc", "", 0, ())

用WPS Office打开上面python代码生成的文档,我此处是D:/temp/pang_new.docx
发现文档目录是更新了,但按住Ctrl键然后点击某一个项,无法跳转到具体的标题处,也就是说超链接没有起作用:


我开始以为是不是我python代码中的更新命令不全或者不对,于是将代码dispatcher.executeDispatch(doc, “.uno:UpdateAllIndexes”, “”, 0, ())中的UpdateAllIndexes分别用下面的命令代替尝试:
StyleUpdateByExample
UpdateAll
UpdateAllIndexes
UpdateAllLinks
UpdateCharts
UpdateCurIndex
UpdateFields
UpdateInputFields
折腾了一顿,发现问题依然存在。冥思苦想,问题到底出在什么地方呢?我又尝试了下面方法,最终发现python代码的命令没有问题,而是WPS Office的兼容性有点问题

  • 尝试一:

用WPS打开,点击一下“更新目录”,然后按住Ctrl键点击,就可以跳转了。

  • 尝试二:

或者用LibreOffice打开,点击目录中的项是可以跳转的。

  • 尝试三:

或者另外直接用WPS创建一篇新文档,填写内容,插入目录并更新保存,然后用LibreOffice打开这篇文档,点击目录中的项是可以跳转的。

  • 尝试四:

或者另外直接用LibreOffice创建一篇新文档,填写内容,插入目录并更新保存,点击可以跳转。然后用WPS打开这篇文档,点击目录中的项却不能跳转。

  • 尝试五:

我又装了Microsoft Office 2010,用其中的Microsoft word打开前面在WPS中点击不能跳转的文档目录,是可以跳转的。

总结:经过上面方法的尝试发现:同一个文档目录,尽管用WPS打开点击不能跳转,但用LibreOffice或者Microsoft Word打开点击都是可以跳转的,这证明了是WPS的兼容性有点问题。

用LibreOffice生成或者更新的文档目录,用WPS Office打开,按住Ctrl键然后点击无法跟踪链接相关推荐

  1. 织梦无法更新栏目html,织梦CMS无法更新生成栏目以及HTML文档问题总汇

    这篇文章主要为大家详细介绍了织梦CMS无法更新生成栏目以及HTML文档问题总汇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 很多盆友都喜欢用织梦dedecms ...

  2. python批量生成,用python批量生成简单的xml文档

    最近生成训练数据时,给一批无效的背景图片生成对应的xml文档,我用python写了一个简单的批量生成xml文档的demo,遇见了意外的小问题,记录一下. 报错问题为:ImportError: No m ...

  3. 利用 Github Actions 自动更新 docfx 文档

    利用 Github Actions 自动更新 docfx 文档 Intro docfx 是微软出品一个 .NET API 文档框架,有一个理念是代码即文档,会根据项目代码自动生成 API 文档,即使没 ...

  4. Java实现生成数据库表结构文档(生成工具screw的使用)

    目录 一.screw介绍 1.简介 2.特点 3.文档格式 二.生成方式 2.1 方式1:使用 Java 代码 2.1.1 引入依赖 2.1.2 编写代码 2.1.3 测试 2.2 方式2:使用 Sp ...

  5. 生成doc文档目录,aspose word技术实现

    生成doc文档目录,比较了Spire.Doc和aspose word两个技术,Spire.Doc生成目录过多的话会出现问题,使用aspose word解决此问题. //输出到文件 String dir ...

  6. Springboot生成Word/EXECL/PPTX文档

    目录 一.概述 二.使用介绍 第一种Poi-tl: 1.介绍 2.功能 第二种Poi: 什么是POI 二进制分布 源码分发 一.概述 Word模板引擎:使用Word模板和数据生成对应的Word文档. ...

  7. excel明细生成多个word文档,比邮件合并好用100倍。

    需求:把excel明细批量生成word文档,每条明细生成1个文档. 将上面的WIFI用户名.密码填到word文档中相应位置,并且需要插入图片. 通常用的是word邮件合并功能,但是步骤多,麻烦.插件简 ...

  8. 【storybook】你需要一款能在独立环境下开发组件并生成可视化控件文档的框架吗?(三)

    storybook 插件addons 核心插件 插件API argTypes 写文档 组件注释法 MDX 生成在线可视化UI文档 上一篇: https://blog.csdn.net/tuzi007a ...

  9. 自定义maven插件:自动生成API的word文档

    继上次开发完Maven插件开发:根据库表生成实体类&根据实体类生成库表之后,博主对开发maven插件喜爱得一塌糊涂.这不,今天给大家带来了<自定义maven插件:自动生成API的word ...

最新文章

  1. 吴恩达老师深度学习视频课笔记:构建机器学习项目(机器学习策略)(1)
  2. Linux下使用service启动jar包.md
  3. Oracle 表空间的段管理
  4. 超炫jQuery测试答题功能
  5. 最简单的网络图片的爬取 --Pyhon网络爬虫与信息获取
  6. jvm gc阻塞时长 占比_jvm进行转义分析需要多长时间? 可能比您想象的要长。
  7. python 对话框开发_python文件选择对话框的操作方法
  8. Redux Toolkit 使用指南
  9. 如何删除oracle软件,如何用静默方式删除oracle软件
  10. python爬取高考各高校分数线查询_python 爬虫 爬取高考录取分数线 信息
  11. windows下sakai配置过程
  12. T检验、F检验、Z检验、卡方检验
  13. Centos7重置用户密码
  14. 【DNS应用案例】智能DNS赋能海运集团全球域名体系建设
  15. 车载网络: CAN (Control Area Network) 控制器局域网络
  16. 学PS平面设计前,你需要先了解这些
  17. Spring boot + maven + jetty9在提交表单的时候出现Form too large
  18. 解决Xposed不联网问题,附带Xposed安装教程雷电夜神逍遥模拟器
  19. 如何创建 Python 库
  20. 世界上最神奇的数字 算法求解

热门文章

  1. pr:怎么来做视频倒放效果
  2. PING(计算机网络)
  3. 如何用python制作五角星
  4. 怎么得到网上很难找的资源的歌曲音频
  5. python回合制游戏教程_适合初学者练手的 10 个 有趣Python项目|python教程|python入门|python教程...
  6. Pose Animator 让矢量图捕捉你的动作,然后动起来。(翻译学习)
  7. c语言异或运算编程,C语言异或运算的一些特性及巧妙应用
  8. 手机设备管理平台OpenSTF:002手机远程连接
  9. 如何在 Mac 上的 Keynote 讲演中创建动画 GIF(5分钟)
  10. Ubuntu Docker常用命令