如何解决python-uno如何使用管道操纵libreoffice-calc?
Python uno可以通过套接字与libreoffice-calc通信,常见的方法是从外壳启动libreOffice-calc:
soffice --calc --accept="socket,host=localhost,port=2002;urp;STaroffice.ServiceManager"
办公室可以与Socket和port:2002通信python-uno。
sudo netstat -anp |grep soffice
tcp 0 0 127.0.0.1:2002 0.0.0.0:* LISTEN 3115/soffice.bin
unix 2 [ ACC ] STREAM LISTENING 45712 3115/soffice.bin /tmp/OSL_PIPE_1000_SingleOfficeIPC_7fb3858dfd518f4aa054b3e7cf720
unix 3 [ ] STREAM CONNECTED 45702 3115/soffice.bin
unix 3 [ ] STREAM CONNECTED 45716 3115/soffice.bin
然后,您可以打开python shell,import uno
来操纵calc
。
从菜单开始办公室时:
sudo netstat -anp |grep soffice
unix 2 [ ACC ] STREAM LISTENING 49386 3200/soffice.bin /tmp/OSL_PIPE_1000_SingleOfficeIPC_7fb3858dfd518f4aa054b3e7cf720
unix 3 [ ] STREAM CONNECTED 49390 3200/soffice.bin
unix 3 [ ] STREAM CONNECTED 48919 3200/soffice.bin
办公室无法与Socket通信python-uno,端口:2002未打开。
从菜单启动calc
时,如何使用python-uno操作lilbreoffice-calc
?
解决方法
这实际上不是Python问题,但是您需要为LibreOffice Calc修改.desktop文件并添加配置参数。 例如,您可以打开一个终端窗口并输入:
sudo nano /usr/share/applications/libreoffice-calc.desktop
然后找到Exec行,可能看起来像这样:libreoffice --calc%U 添加您的参数:
libreoffice --calc --accept="socket,host=localhost,port=2002;urp;StarOffice.ServiceManager" %U
请确保在命令末尾保留%U,以使其像以前一样正常工作。
保存,现在应该可以了!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。