[英]How python-uno can manipulate libreoffice-calc with pipe?
Python uno可以通過socket與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
:
當您從菜單啟動 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 無法與 socket 通信 python-uno,端口:2002 未打開。
當lilbreoffice-calc
從菜單啟動時,如何使用 python-uno 操作calc
?
這不是真正的 Python 問題,但您需要修改 LibreOffice Calc 的 .desktop 文件並添加配置參數。 例如,您可以打開終端 window 並輸入:
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 保留在命令末尾,以使其像以前一樣運行。
保存,現在它應該可以工作了!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.