[Others] wps不能直接打开word文档 V23
Tofloor
poster avatar
深度之家
deepin
2024-05-30 11:00
Author
【系统环境】: deepin V23 wps不能直接打开word文档,只能打开wps以后,从wps找到文档位置才能打开。

Reply Favorite View the author
All Replies
深度之家
deepin
2024-05-30 11:00
#1
感谢反馈,请问是从商店下载的wps吗,目前本地从商店安装的11.1.0.11719是可以直接打开word文档的,可以确认下版本再看看呢
Reply View the author
晚秋(lateautumn)
Moderator
2024-05-30 11:18
#2

有解决方法。我知道原因及解决方法。也是一位坛友告诉我的。joy

Reply View the author
我是昵称
deepin
2024-05-31 10:47
#3

我这边也存在这个问题:右键word文档,打开方式wps文字,只能打开wps应用,打不开文档。

系统是 deepin v23 rc

Reply View the author
Leo
deepin
2024-09-03 01:55
#4

引用hotime在WPS社区的反馈,你参照以下内容在/usr/bin/wps 脚本中修改两处python的代码就可以了。

https://bbs.wps.cn/topic/34806

系统内置python版本为3.5以上的Linux发行版中使用WPS2019以及WPS365时,选中doc或docx或任意文档,使用”WPS文字“打开,会出现仅仅WPS客户端打开,但文档未打开的异常情形。

例如:内置python版本为3.11.6的deepin23系统

具体原因分析:

“WPS文字”桌面入口文件的Exec项配置为:Exec=/usr/bin/wps %U

这里的 %U 意味着被选中的一个或多个文件会被作为URL路径传递到程序中,例如:file:///home/hotime/Desktop/DOCX 文档.docx

但是由于在 /usr/bin/wps 脚本中:有两处涉及到处理URL的python代码:

gFilePath=$(python -c 'import sys, urllib; print urllib.unquote(sys.argv[1])' "$1")

gFilePath=$(python -c 'import sys, urllib; print urllib.unquote(sys.argv[1])' "$file")

是按照python2写的,与高版本python3的写法不同,这导致在python3.5及以上版本中这段代码执行失败, 导致gFilePath被变成了空白,最终导致没有任何被选中的文档被打开。

在python3.5版本以上,应该分别写成这样:

gFilePath=$(python -c 'import sys, urllib.parse; print(urllib.parse.unquote(sys.argv[1]))' "$1")

gFilePath=$(python -c 'import sys, urllib.parse; print(urllib.parse.unquote(sys.argv[1]))' "$file")

请在这个wps脚本中考虑对用户的python版本进行判断,然后再执行相对应的python语句处理URL,以避免此异常发生。

Reply View the author