使用图层

使用图层配置形状对象

Aspose.Diagram for Python via Java allows to configure shape objects with layers in Microsoft Office Visio diagram. Each shape can belong to multiple layers so developers can manage shapes to suit end user needs.

形状类对象提供 LayerMember 属性,允许在 Visio 绘图的图层中添加/删除形状对象。用户可以使用 Aspose.Diagram API 以编程方式管理这些属性,如下所示:

在 diagram 的图层中添加、删除和移动形状对象。

以下代码有助于添加、删除和移动形状对象属性。

编程示例

import jpype
import asposediagram
jpype.startJVM()
from asposediagram.api import *
lic = License()
lic.setLicense("Aspose.Total.Product.Family.lic")
# call the diagram constructor to load visio diagram
diagram = Diagram("DrawingFlowChart.vsdx")
# iterate through the shapes
for shape in diagram.getPages().getPage("Page-1").getShapes():
if shape.getName().toLowerCase() == "shape1":
# Add shape1 in first two layers. Here "0;1" are indexes of the layers
layer = shape.getLayerMem()
layer.getLayerMember().setValue("0;1")
elif shape.getName().toLowerCase() == "shape2":
# Remove shape2 from all the layers
layer = shape.getLayerMem()
layer.getLayerMember().setValue("")
elif shape.getName().toLowerCase() == "shape3":
# Add shape3 in first layer. Here "0" is index of the first layer
layer = shape.getLayerMem()
layer.getLayerMember().setValue("0")
# save diagram
diagram.save("ConfigureShapeLayers_Out.vsdx", SaveFileFormat.VSDX)
jpype.shutdownJVM()

在 Visio PageSheet 中添加图层

Aspose.Diagram for Python via Java allows developers to add new layers to organize custom categories of shapes, and then assign shapes to those layers programmatically.

图层集合类提供了添加方法,允许添加一个新的中的类对象Visio图纸.开发者可以通过初始化它的类对象来设置 Layer 的属性。

下面的一段代码有助于添加 Layer 对象。

编程示例

import jpype
import asposediagram
jpype.startJVM()
from asposediagram.api import *
lic = License()
lic.setLicense("Aspose.Total.Product.Family.lic")
# load a source Visio diagram
diagram = Diagram("DrawingFlowChart.vsdx")
# get Visio page
page = diagram.getPages().getPage("Page-1")
# initialize a new Layer class object
layer = Layer()
# set Layer name
layer.getName().setValue("Layer1")
# set Layer Visibility
layer.getVisible().setValue(BOOL.TRUE)
# set the color checkbox of Layer
layer.setColorChecked(BOOL.TRUE)
# add Layer to the particular page sheet
page.getPageSheet().getLayers().add(layer)
# get shape by ID
shape = page.getShapes().getShape(3)
# assign shape to this new Layer
shape.getLayerMem().getLayerMember().setValue(str(layer.getIX()))
# save diagram
diagram.save("AddLayer_Out.vsdx", SaveFileFormat.VSDX)
jpype.shutdownJVM()

获取所有可用图层

页表的财产类允许从中检索可用层的列表Visio图纸使用图层集合班级。

以下代码有助于获取图层列表。

编程示例

import jpype
import asposediagram
jpype.startJVM()
from asposediagram.api import *
lic = License()
lic.setLicense("Aspose.Total.Product.Family.lic")
# load Visio diagram
diagram = Diagram("DrawingFlowChart.vsdx")
# get Visio page
page = diagram.getPages().getPage("Page-1")
# iterate through the layers
for layer in page.getPageSheet().getLayers():
print("Name: " + str(layer.getName().getValue()))
print("Visibility: " + str(layer.getVisible().getValue()))
print("Status: " + str(layer.getStatus().getValue()))
jpype.shutdownJVM()