当前位置: 首页 > news >正文

麒麟系统播放 pptx

目录

python 操作 LibreOffice 控制pptx 一页一页播放

1. 安装 LibreOffice(麒麟系统基于 Debian/Ubuntu)

2. 如果只想安装 PPT 播放/转换(Impress)

1. 启动 LibreOffice UNO 服务

2. Python 控制播放uno安装方法:

运行效果

wps 播放ppt 收费,免费一个月


python 操作 LibreOffice 控制pptx 一页一页播放

1. 安装 LibreOffice(麒麟系统基于 Debian/Ubuntu)

sudo apt update

sudo apt install libreoffice

这样会安装 LibreOffice 全家桶(Writer、Calc、Impress等)。


2. 如果只想安装 PPT 播放/转换(Impress)

sudo apt update

sudo apt install libreoffice-impress

打开pptx:

libreoffice --impress my.pptx

播放pptx

libreoffice --impress --show aaa.pptx

可以的,Python 可以通过 UNO(Universal Network Objects)接口 控制 LibreOffice,做到一页一页播放 PPTX。

思路是:

  1. 用 Python 连接 LibreOffice 的 UNO 服务。

  2. 加载 PPTX 到 Impress。

  3. 控制幻灯片切换(presentation.gotoNextSlide())。

  4. 可以结合 time.sleep() 实现定时翻页,也可以按逻辑随时翻页。


1. 启动 LibreOffice UNO 服务

麒麟 / Linux 下,先开一个 LibreOffice 监听端口:

libreoffice --impress --accept="socket,host=localhost,port=2002;urp;" --norestore --nologo &
libreoffice --impress --accept="socket,host=127.0.0.1,port=2002;urp;" /home/qilin/doc/aaa.pptx

这样 Python 才能通过 UNO 连接它。


2. Python 控制播放
uno安装方法:

pip uninstall uno
sudo apt remove python3-uno  # 先卸载旧版本,避免冲突
sudo apt install libreoffice python3-uno

import uno
import time
from com.sun.star.beans import PropertyValuedef connect_uno():local_ctx = uno.getComponentContext()resolver = local_ctx.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", local_ctx)ctx = resolver.resolve("uno:socket,host=127.0.0.1,port=2002;urp;StarOffice.ComponentContext")return ctxdef control_ppt():ctx = connect_uno()smgr = ctx.ServiceManagerdesktop = smgr.createInstanceWithContext("com.sun.star.frame.Desktop", ctx)# 直接在脚本中打开文档,避免 doc=Noneurl = uno.systemPathToFileUrl("/home/qilin/doc/aaa.pptx")doc = desktop.loadComponentFromURL(url, "_blank", 0, ())# 获取 Presentation 对象presentation = doc.getPresentation()# 设置为窗口模式(不是全屏)presentation.IsFullScreen = Truepresentation.StartWithNavigator = False  # 不显示导航器# 开始放映presentation.start()time.sleep(1)  # 等放映启动# 获取 SlideShowControllerslide_show = presentation.getController()# 翻页time.sleep(2)slide_show.gotoNextSlide()time.sleep(2)slide_show.gotoNextSlide()if __name__ == "__main__":control_ppt()


运行效果

  • LibreOffice 会隐藏窗口启动(Hidden=True),你也可以改成 Hidden=False 来可视化播放。

  • controller.gotoNext() 就是翻到下一页,支持 gotoPrevious()jumpToFirstSlide() 等方法。

  • 你可以替换 time.sleep() 用别的逻辑,比如外部信号控制翻页。

wps 播放ppt 收费,免费一个月

wpp /path/to/your.pptx
如果要直接全屏播放,可以加启动参数(不同版本可能略有差异):
wpp --show /path/to/your.pptx

http://www.dtcms.com/a/323842.html

相关文章:

  • Spring MVC 九大组件源码深度剖析(二):LocaleResolver - 国际化背后的调度者
  • 集成电路学习:什么是Parameter Server参数服务器
  • 【软件测试】BUG篇 — 详解
  • 从 `unittest` 到 `pytest`:探寻 Python 测试框架的优雅进化与社区选择*
  • Java 后端性能优化实战:从 SQL 到 JVM 调优
  • Spring 依赖注入、AOP代理
  • GC如何判断对象可以被回收?
  • 分享一个基于Python和Hadoop的的电信客户特征可视化分析平台 基于Spark平台的电信客服数据存储与处理系统源码
  • Django @login_required实现登陆认证
  • 十、Linux Shell脚本:流程控制语句
  • Hadoop MapReduce过程
  • K8s DaemonSet 详解
  • K8s四层负载均衡-service
  • NLP学习开始-02逻辑回归
  • DevOps:从GitLab .gitlab-ci.yml 配置文件到CI/CD
  • LeetCode - 搜索插入位置 / 排序链表
  • win11(RTX5060)下进行nanodetplus训练
  • Kafka消费者相关原理
  • 第4章 程序段的反复执行4 多重循环练习(题及答案)
  • Audio Flamingo
  • 网站升级https地址方法
  • LeetCode每日一题,2025-8-10
  • jmeter常规压测【读取csv文件】
  • BGP HCIP
  • 繁花深处:花店建设的时代意义与多元应用—仙盟创梦IDE
  • 农经权二轮延包—已有软件与后续研究
  • 线性代数1000题学习笔记
  • 从街亭失守看管理
  • Datawhale AI 夏令营——全球AI攻防挑战赛(AIGC技术-图像方向)
  • LLaMA-Adapter V2 Parameter-Efficient Visual Instruction Model