Python编辑WPS文字,插入图片在不同页,下划线,添加页码,打印指定页的实例

在中文环境中,金山公司WPS文字日渐蓬勃,大有取代传统Office WORD的势态,利用Python编写代码,对wps文档进行编辑,是减少重复工作的一个很好的办法。在大量实践中,本人研究并解决了一些问题,分享如下:

1、插入图片在不同页

网上可以查到大量代码演示AddPicture(),该方法始终将图片放置在第一页,无法控制图片在不同的页。本人通过大量研究,提出解决方案,就是:
先用InlineShapes.AddPicture插入行嵌入图片,然后ConvertToShape()转成浮动图片。
代码如下:

def add_pic(t_range, post_left: float, post_top: float):
	"""
	在WPS文档中加入图片
	:param t_range: 添加位置,一个Range
	:param post_left:左侧位移,相对于Range的位置,可能有负数
	:param post_top:顶端位移,相对于Range所在行的位置,可能有负数
	:return:
	"""
	t_shape = wps_doc.InlineShapes.AddPicture(app_path + "\\temp.png", False, False, t_range)
	t_shape = t_shape.ConvertToShape()
	t_shape.LayoutInCell = 1
	t_shape.RelativeHorizontalPosition = 3  # 水平位置右侧跟随字符
	t_shape.RelativeVerticalPosition = 3  # 竖直位置跟随行
	t_shape.Left = wps_app.CentimetersToPoints(post_left)  # 左侧 位移
	t_shape.Top = wps_app.CentimetersToPoints(post_top)  # 顶端 位移

其中t_range是图片置于文本中的位置。如果该区域未折叠,那么图片将覆盖此区域,否则插入图片。如果省略此参数,则自动放置图片。
t_range参数很重要,如果t_range位于第三页,那么插入的图片就在第三页,t_range控制了图片的基本位置。精确调整,需要调整LeftTop等参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值