原文链接Linux上使用python调用WPS二次开发接口 - C++ Programer​www.cryfeifei.cn

环境Ubuntu18.04

WPS For Linux

Python3

简介

目前WPS for Linux已经支持二次开发。这次我们使用Python3来进行调用。 目前 “社区的小伙伴”(我们团队的某个开发)把WPS的c++的接口封装成python的库了。 上github的链接

这次使用这个库来进行调用。

流程

有两种方式来调用,一个是自己手动来,一个是用pip来安装这个库,本次使用pip库

sudo dpkg -i wps-office_11.1.0.9505_amd64.deb // 安装wps

pip3 install pywpsrpc -i https://pypi.tuna.tsinghua.edu.cn/simple

把库安装好,记得打开WPS,把WPS设置成多组件的模式 上面库有个demo,可以直接新建一个 1.py

# First import the module you want

# rpcwpsapi contains the interfaces for WPS

# rpcwppapi is for WPP

# and rpcetapi for ET

# the common module contains the shared interfaces, you can not use it alone.

# you always need the createXXXRpcInstance, so first import

# take wps for example here

from pywpsrpc.rpcwpsapi import (createWpsRpcInstance, wpsapi)

# use the RpcProxy to make things easy...

from pywpsrpc import RpcProxy

# now create the rpc instance

hr, rpc = createWpsRpcInstance()

# all the calls returns the error code as the first value

# you can check it for fails

# 0 means all fines, you can use the common module's S_OK,

# FAILED or SUCCEEDED to check

# recommend use the RpcProxy instead

# get the application and you get everything...

# here we use the RpcProxy to wrap the application

# otherwise, you have to call Release on each instance

# and handle the hr for every call...

app = RpcProxy(rpc.getWpsApplication())

# Add blank doc e.g.

doc = app.Documents.Add()

# append text...

selection = app.Selection

selection.InsertAfter("Hello, world")

# bold the "Hello, world"

selection.Font.Bold = True

# get a notify about saving

#rpc.registerEvent(app.rpc_object,

# wpsapi.DIID_ApplicationEvents4,

# "DocumentBeforeSave",

# onDocumentBeforeSave)

#def onDocumentBeforeSave(doc, saveAsUi, cancel):

# to discard the saving, return cancel as True

# return saveAsUi, cancel

# save the doc, onDocumentBeforeSave will be called

doc.SaveAs2("test.docx")

# Quit the application if you don't need anymore

# use wpsapi.wdDoNotSaveChanges to ignore the changes

app.Quit(wpsapi.wdDoNotSaveChanges)

运行这个py

python3 ./1.py

然后会发现当前文件夹生成一个新的文档 test.docx.

更多的api可以上github去查看,当然什么保存成pdf就更没有问题了。

这个demo相当简单。代码更好懂了。你会发现API跟msdn的方法基本一致。这也是WPS的兼容mso的地方,不过目前应该只有WPS在Linux上有这种级别的API开放给大家。

python调用linuxapi_Linux上使用python调用WPS二次开发接口相关推荐

  1. 在网页中调用摄像头实现拍照上传 - 高拍仪二次开发

    在网页中调用摄像头实现拍照上传 高拍仪二次开发     在一些公共部门的办事处,比如银行.护照办理中心.税务等,我们可能会注意到办公桌上摆着这样一台机器.办公人员用它拍摄各种证件.文件.表格,有时候还 ...

  2. c++ 二次开发 良田高拍仪_在网页中调用摄像头实现拍照上传 - 高拍仪二次开发...

    来源于  https://blog.csdn.net/weixin_40659738/article/details/78252562 在网页中调用摄像头实现拍照上传 高拍仪二次开发 在一些公共部门的 ...

  3. 国产微观交通仿真软件TESS NG V2.1 Python二次开发接口版本发布

    来源:上海济达交通科技有限公司 上海济达交通科技有限公司是国产TESS NG微观交通软件研发商.2022年9月26日,上海济达交通科技有限公司正式发布了TESS NG的V2.1 Python二次开发接 ...

  4. 你好五一、你好TESS NG python二次开发接口

    今天是五一劳动节,国产微观交通仿真软件TESS NG的python开发接口内测版今天发布.         4月1日到今天5月1日一个月时间,疫情将我"封"在出租里,我将TESS ...

  5. ENVI_IDL:批量重投影ModisSwath产品(调用二次开发接口)+解析

    目录 1. 课堂内容 1. 获取Modis Swath数据(这里只获取Lat.Lon.Aod(气溶胶厚度)三个数据集以及aod数据集的两个属性),并对aod数据进行简单的处理 2. 调用二次开发接口以 ...

  6. 帝国CMS调用自定义列表名称的方法(简单二次开发实现)

    帝国CMS调用自定义列表名称的方法(简单二次开发实现) 本文讲述了帝国CMS调用自定义列表名称的方法,脚本之家在这里提供了2种实现方法,涉及针对帝国CMS底层代码的修改.具体如下: 一.问题描述: 需 ...

  7. java wps 二次开发,Wps二次开发(POI)

    Wps二次开发(POI) 一.POI的介绍 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对办公Office格式档案读和写的功能.以下是POI的几个重要组 ...

  8. Wps二次开发(POI)

    Wps二次开发(POI) 一.POI的介绍 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对办公Office格式档案读和写的功能.以下是POI的几个重要组 ...

  9. 解决WPS及office二次开发接口无法注册的问题

    问题描述 使用QAxObject的setControl注册接口时返回失败的解决方法 二次开发接口名称 WPS文字 KWPS.Aplication WPS的Excel KET.Application W ...

最新文章

  1. 你为什么“啃不动”你手中的技术书?
  2. Asp.Net MVC中Action跳转小结
  3. Node基础篇(一)
  4. 以Windows服务方式运行.NET Core程序
  5. 几个重要的Linux系统内核文件介绍
  6. 哪些手机支持android q,安卓Q首批升级名单公布,华为终于有一款机型支持原生...
  7. 工程实践线切割3B代码参考
  8. SpringBoot 快速入门
  9. MySQL的事务特性
  10. srand((unsigned int)time(NULL))的理解(C语言)
  11. GScoolink GSV2201 TypeC/DP to HDMI2.0
  12. crm组织服务中的xRM消息
  13. 若依(RuoYi-Vue)+Flowable工作流前后端整合教程
  14. jQuery与JS实现AJAX实例!(附AJAX教程、路线图)
  15. gcc编译程序的过程
  16. golang data race 竞态条件
  17. centos7下载spark连接mysql数据库提取数据(pyspark,Scala,python独立执行)
  18. POJ 1654 乱搞题?
  19. [日语二级词汇]动词(5)
  20. 【线性代数(5)】等和,三叉型,反对称行列式计算及python代码辅助验证

热门文章

  1. 计算机画布模式,word绘图教程:画布、图形的关系和隐藏画布-word技巧-电脑技巧收藏家...
  2. 你的代码要被存放到北极啦!Github宣布将在北极建立代码库
  3. 计算机组装电源线排,电脑装机小知识,机箱如何完美走线-做第一期的简单补充...
  4. 解决微信小程序在IOS端会上下左右滑动的问题
  5. android pad 清除缓存,ipad清理缓存经验介绍
  6. B/C混搭卖出天价的Linkedin,对中国的金蝶云之家们有什么启示?
  7. CG动画制作——实训项目前期工作(二)
  8. 2021年全球医疗机器人市场规模达207亿美元,中国仅占5%(附36家中国企业名单)...
  9. 如何刷新mac、arp地址表项?
  10. 手把手带你开发一款云开发版点餐小程序,微信扫码点餐,店铺地图导航,外卖小程序,用户端和后厨端都有