在 Python 透過 Java 中的群組簡報形狀
Contents
[
Hide
]
概覽
本文章說明如何在 Aspose.Slides 中使用群組形狀。它展示了如何將群組形狀新增至投影片、在其中放置形狀,並儲存更新後的簡報。也示範了如何存取群組內的形狀,並使用getAlternativeText 讀取其替代文字。此外,本文還簡要說明了相關的群組形狀功能,如巢狀群組、Z 軸順序與鎖定選項。
新增群組形狀
Aspose.Slides 支援在投影片上操作群組形狀。此功能協助開發人員建立更豐富的簡報。Aspose.Slides for Python via Java 支援新增與存取群組形狀。您可以在群組形狀內加入其他形狀或存取其屬性。若要使用 Aspose.Slides for Python via Java 將群組形狀新增至投影片:
- 建立Presentation 類別的實例。
- 依索引取得投影片的參考。
- 在投影片上新增群組形狀。
- 將形狀加入群組形狀。
- 將修改後的簡報另存為 PPTX 檔案。
以下範例將群組形狀新增至投影片:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import NullableBool, Presentation, SaveFormat, ShapeFrame, ShapeType
# 實例化 Presentation 類別。
presentation = Presentation()
try:
# 取得第一張投影片。
slide = presentation.getSlides().get_Item(0)
# 存取投影片的形狀集合。
slide_shapes = slide.getShapes()
# 新增群組形狀至投影片。
group_shape = slide_shapes.addGroupShape()
# 在群組形狀內新增形狀。
group_shape.getShapes().addAutoShape(ShapeType.Rectangle, 300, 100, 100, 100)
group_shape.getShapes().addAutoShape(ShapeType.Rectangle, 500, 100, 100, 100)
group_shape.getShapes().addAutoShape(ShapeType.Rectangle, 300, 300, 100, 100)
group_shape.getShapes().addAutoShape(ShapeType.Rectangle, 500, 300, 100, 100)
# 設定群組形狀的框架。
group_frame = ShapeFrame(100, 300, 500, 40, NullableBool.False_, NullableBool.False_, 0)
group_shape.setFrame(group_frame)
# 將 PPTX 檔寫入磁碟。
presentation.save("GroupShape.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
存取替代文字
本節說明如何存取投影片上群組內形狀的替代文字。使用 Aspose.Slides for Python via Java 取得此文字的方法如下:
- 建構代表 PPTX 檔案的Presentation 類別實例。
- 依索引取得投影片的參考。
- 存取投影片的 ShapeCollection。
- 取得群組形狀。
- 使用getAlternativeText 讀取其形狀的替代文字。
以下範例存取群組內形狀的替代文字:
import jpact
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import GroupShape, Presentation
# 實例化代表 PPTX 檔案的 Presentation 類別。
presentation = Presentation("AltText.pptx")
try:
# 取得第一張投影片。
slide = presentation.getSlides().get_Item(0)
for i in range(slide.getShapes().size()):
# 存取投影片形狀集合中的形狀。
shape = slide.getShapes().get_Item(i)
if isinstance(shape, GroupShape):
# 存取群組內的形狀。
for j in range(shape.getShapes().size()):
child_shape = shape.getShapes().get_Item(j)
# 讀取替代文字。
print(child_shape.getAlternativeText())
finally:
presentation.dispose()
常見問題
是否支援巢狀群組(群組內含群組)?
是的。GroupShape 提供getParentGroup 方法,表示支援階層結構:群組可以是另一個群組的子項。
如何控制群組相對於投影片上其他物件的 Z 軸順序?
使用GroupShape 物件的getZOrderPosition 方法,以檢查其在顯示堆疊中的位置。
我可以防止移動、編輯或解除群組嗎?
可以。群組的鎖定設定可透過getGroupShapeLock 取得,讓您限制對該物件的操作。