使用OpenTBS动态替换演示文稿图片时如何指定X-Y位置?
关于OpenTBS在演示文稿中指定X-Y位置插入图片的实现方案
可以实现指定X-Y位置插入/替换图片,但你当前使用的OPENTBS_CHANGE_PICTURE插件本身是替换已有占位图片,新图片会继承原占位图的位置、尺寸等属性,无法直接通过这个插件指定新的X-Y坐标。
下面提供两种适配场景的解决方案:
方案1:固定位置替换(适合预设位置的场景)
如果目标位置是固定的,先在PPT模板中插入一张占位图片,将其调整到你需要的X-Y坐标和尺寸,然后给这张占位图设置TBS标签(比如命名为picture_original),之后用你现有的代码替换即可:
$TBS->PlugIn(OPENTBS_CHANGE_PICTURE, 'picture_original', 'new_picture.png');
替换后的新图片会完全继承占位图的位置和尺寸。
方案2:动态指定X-Y位置插入(适合需要动态计算位置的场景)
使用OPENTBS_INSERT_PICTURE插件,这个插件支持直接指定图片的X/Y坐标、尺寸以及目标幻灯片,无需预先放置占位图。示例代码如下:
// 插入图片到第1张幻灯片的(100pt, 200pt)位置,设置宽300pt、高200pt $TBS->PlugIn(OPENTBS_INSERT_PICTURE, 'new_picture.png', true, [ 'x' => 100, 'y' => 200, 'w' => 300, 'h' => 200, 'slide' => 1 ]);
- 坐标单位默认是磅(pt),与PPT的内置单位一致;
slide参数指定目标幻灯片的页码(从1开始计数);- 第三个参数设为
true表示保持图片的原始比例(若只设置宽/高中一个,另一个会自动按比例计算)。
内容的提问来源于stack exchange,提问作者user1600801
相关产品推荐
相关产品推荐

