使用图层
使用图层配置形状对象
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() |