700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 用LibreOffice生成或者更新的文档目录 用WPS Office打开 按住Ctrl键然后点击无法跟踪链接

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

时间:2020-11-07 10:40:15

相关推荐

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

**先说结论:**经过尝试,我发现用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)。

我参考了:/typhoon-hil/LibreOfficeToPDF和/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 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 ,用其中的Microsoft word打开前面在WPS中点击不能跳转的文档目录,是可以跳转的。

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。