【问题标题】:soffice socket is not opening via commandlinesoffice 套接字未通过命令行打开
【发布时间】:2015-12-03 20:05:48
【问题描述】:

我想使用 pyoo.py 包通过 Python 控制 libreOffice。

有很好的教程可用。第一步是使用以下命令打开一个套接字。

soffice --nologo --norestore --nodefault --accept="socket,host=localhost,port=2002;urp;"

但它不起作用,它卡住了。(卡住意味着我在cmd中输入命令但没有响应) 如果我在任务管理器中终止 sOffice 进程,它将继续。

它曾经奏效过一次,而且永远不会再奏效了。

我使用 Win7 64 位和 LibreOffice 5

【问题讨论】:

  • 您使用的是什么版本的 LibreOffice?该命令在Win7上对我有用。您是否尝试过重新启动机器以确保没有卡住的进程?如果这不起作用,那么您可能需要重新安装 LibreOffice。
  • @JimK 是的,我尝试重新启动,我尝试使用 4.X,现在我拥有 LibreOffice 5 版

标签: sockets cmd openoffice.org libreoffice soffice


【解决方案1】:

首先要确保soffice的所有实例和进程都关闭了,因为如果office已经打开了,就不会开始监听socket了。

那么你的命令有问题;它不适合我。我通常使用的是:

chdir "%ProgramFiles(x86)%\LibreOffice 5\program\"
start soffice -accept=socket,host=0,port=2002;urp;

在 Linux 上我使用以下命令,在 Windows 上使用相同的参数:

loffice "--accept=socket,host=localhost,port=2002;urp;" --writer

编辑

从您的评论看来,您似乎可以通过删除各种参数来查看是哪个参数导致了问题。

【讨论】:

  • 这些选项是必要的,因为我想在没有用户交互的情况下运行它。将来会有一个选项--headless。命令来自此页面pypi.python.org/pypi/pyoo/1.0
  • 如果没有额外的参数,它是否可以在您的系统上工作?额外的参数只会让它更快——我认为 pyoo 仍然可以使用我的答案中显示的命令。一旦你得到它工作,那么你可以添加--headless
  • 嘿,我试过了,发现“--nologo”是坏人。没有它工作正常。似乎 sOffice 与没有实例(-calc / -writer 等)相结合的论点存在问题,请写一个答案,以便我可以接受它。感谢提示
  • 很高兴听到我的回答和/或 cmets 帮助您解决了问题。我修改了答案以反映这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-20
  • 1970-01-01
  • 1970-01-01
  • 2013-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多