<p>最后,我找到了一种使用Python以优雅而简单的方式解决这个问题的方法。Im使用一个套接字来连接Impress并控制它,而不是库或api。在</p>
<p>在文章的最后,你可以阅读全文,说明如何控制Impress。这很简单,也很神奇。在</p>
<p>您使用Python发送消息来打动(即在某个端口监听),它接收消息并根据您的请求执行操作。在</p>
<p>您必须在应用程序中启用此“远程控制”功能。我用这个解决了我的问题。在</p>
<p>谢谢你的回复!。在</p>
<h2>LibreOffice Impress远程协议规范</h2>
<p>通过UTF-8编码字符流进行通信。
使用librtu编码部分</p>
<h2>TCP协议</h2>
<p>有关设置和初始握手的更多特定于TCP的详细信息
写入,但实际的消息协议与蓝牙相同。在</p>
<h2>消息格式</h2>
<p>消息由一行或多行组成。第一行是消息描述,
进一步的行可以添加任何必要的数据。消息以空行结尾。在</p>
<p>即“消息\n\n”或“消息\n数据\n数据2…\n\n”</p>
<p>你必须一直读到一个空行(即双倍
新行)已到达,以允许将来的协议扩展。在</p>
<h2>初始化</h2>
<p>连接后,服务器发送“LO_server_server_PAIRED”。
(即“lou SERVER_SERVER_PAIRED \n \n”通过流发送。)</p>
<p>随后,如果正在运行幻灯片,服务器将发送任一幻灯片放映启动,
如果没有幻灯片放映,则幻灯片放映已完成。(详见下文。)</p>
<p>然后,当前服务器实现继续发送所有幻灯片注释和预览
给客户。(应更改此设置以防止内存问题,并进行预览
已实现请求机制。)</p>
<h2>命令(客户端到服务器)</h2>
<p>当
命令已发送。所有更改都将以信号形式返回给客户端。
(这是为了允许多个客户机请求不同的更改等情况)</p>
<p>[方括号]中的任何行都是可选的,如果不需要,应该省略。在</p>
<ul>
<li>下一个过渡</li>
<li><p>上一次转换</p></li>
<li><p>转到滑梯
幻灯片编号</p></li>
<li><p>演示文稿开始</p></li>
<li><p>演示文稿停止</p></li>
<li><p>presentation_resume//在演示文稿后继续,空白屏幕。</p></li>
<li>演示文稿-空白屏幕
[Colour String]//为屏幕显示的颜色(默认值:黑色)。不是
//已实现,格式尚未定义。在</li>
</ul>
<h2>从gsoc2013开始,这些命令被扩展到现有协议中,因为服务器端可以容忍未知命令,所以这些扩展不会破坏向后兼容性</h2>
<ul>
<li>指针开始//在屏幕上的初始位置(x,y)创建一个红点
initial_x//当用户第一次触摸屏幕时应该调用它
请注意x,y是相对于幻灯片大小的百分比(从0.0到1.0)</li>
<li>pointer_demissed//此函数消除屏幕上的指针红点,当用户停止触摸屏幕时应调用此函数</li>
<li>pointer_coordination//将指针的位置更新为current(x,y)
current_x//请注意x,y是相对于幻灯片大小的百分比(从0.0到1.0)
除非screenupdater的性能得到显著改善,否则我们应该考虑限制
//远端</li>
</ul>
<h2>状态/数据(服务器到客户端)</h2>
<ul>
<li><p>幻灯片放映结束//(如果开始时没有幻灯片放映,也会传输幻灯片)</p></li>
<li><p>slideshow_started//(如果幻灯片在启动时运行,也会传输)
幻灯片数量
当前幻灯片编号Ber</p></li>
<li><p>幻灯片注释
幻灯片编号
[Notes]//注释是html文档,还可能包含\n换行符,
//也就是说,客户应该一直读到空行。</p></li>
<li><p>slide_updated//服务器上的幻灯片已更改
currentSlideNumber</p></li>
<li><p>slide_preview//提供幻灯片的预览图像。
幻灯片编号
image//一个base64编码的png图像。</p></li>
</ul>
<h2>从gsoc2013开始,这些命令被扩展到现有的协议中,因为远程端也会忽略所有未知的命令(gsoc2012 android实现就是这样),因此保持了向后兼容性</h2>
<ul>
<li>slideshow_info//配对后,服务器端将发回当前演示文稿的标题
标题</li>
</ul>