gpt4 book ai didi

python - python-uno 如何用管道操作 libreoffice-calc?

转载 作者:行者123 更新时间:2023-12-05 07:02:06 34 4
gpt4 key购买 nike

Python uno 可以通过套接字与 libreoffice-calc 通信,常用的方法是从 shell 启动 libreOffice-calc:

soffice --calc --accept="socket,host=localhost,port=2002;urp;StarOffice.ServiceManager"

soffice 可以通过 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

现在我从菜单中打开一个calc:

enter image description here

当您从菜单启动 soffice 时:

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

soffice 无法与 python-uno 通信,端口:2002 未打开。

lilbreoffice-calc 从菜单启动时,如何使用 python-uno 操作 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 以保持它像以前一样运行。

保存,现在它应该可以工作了!

关于python - python-uno 如何用管道操作 libreoffice-calc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63663954/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com