Proteger Desproteger Formas do Visio

Os arquivos do Visio compreendem vários tipos de formas e conectores para criar diferentes diagramas. Em alguns casos, você pode querer proteger formas específicas de alterações. Seguindo esses cenários, este artigo explica como proteger ou desproteger formas em um diagrama do Visio programaticamente em C#.

Proteger ou desproteger arquivos de formas do Visio – Instalação da API .NET

Aspose.Diagram for .NET API suporta a criação ou edição de diferentes tipos de diagramas como fluxogramas, organogramas, etc. Você pode trabalhar com uma variedade de formatos de arquivo sem precisar instalar o aplicativo Microsoft Visio . Você pode instalar facilmente a API baixando o arquivo DLL de referência da seção Downloads ou executando o comando de instalação NuGet abaixo:

PM> Install-Package Aspose.Diagram

Proteger formas do Visio contra alterações em C#

Você pode definir diferentes propriedades para proteger as formas nos diagramas do Visio contra alterações. Por exemplo, você pode bloquear edição de texto, rotação, altura, etc. Siga as etapas abaixo para proteger formas em um arquivo de diagrama VSD ou VSDX Visio:

  1. Carregue o diagrama do Visio de origem com a classe Diagram.
  2. Acesse uma página e, em seguida, uma forma específica usando seu ID.
  3. Proteja diferentes propriedades de forma contra alterações.
  4. Salve o diagrama de saída.

O trecho de código abaixo demonstra como proteger as formas do Visio programaticamente em C#:

// Carregar diagrama de entrada
Aspose.Diagram.Diagram diagram = new Aspose.Diagram.Diagram("ProtectAndUnprotect.vsd");

// Obter página por nome
Aspose.Diagram.Page page = diagram.Pages.GetPage("Flow 1");

// Obter forma por ID
Aspose.Diagram.Shape shape = page.Shapes.GetShape(1);

// Definir proteções
shape.Protection.LockAspect.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockCrop.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockCustProp.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockDelete.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockHeight.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockMoveX.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockMoveY.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockRotate.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockTextEdit.Value = Aspose.Diagram.BOOL.True;

// Salvar diagrama visio de saída protegida
diagram.Save("VisioShapeProtection_Out.vdx", Aspose.Diagram.SaveFileFormat.VDX);

Desproteger formas do Visio em C#

Você pode desproteger formas em um diagrama do Visio seguindo as etapas abaixo:

  1. Carregue o arquivo de diagrama do Visio de entrada.
  2. Desproteja as formas acessando uma página específica e suas formas.
  3. Exporte o arquivo de saída do Visio.

O exemplo de código a seguir mostra como desproteger formas em um diagrama do Visio programaticamente em C#:

// Carregar diagrama de entrada
Aspose.Diagram.Diagram diagram = new Aspose.Diagram.Diagram(dataDir + "ProtectAndUnprotect.vsd");

// Obter página por nome
Aspose.Diagram.Page page = diagram.Pages.GetPage("Flow 1");

// Obter forma por ID
Aspose.Diagram.Shape shape = page.Shapes.GetShape(1);

// Desproteger formas do Visio
shape.Protection.LockAspect.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockCrop.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockCustProp.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockDelete.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockHeight.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockMoveX.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockMoveY.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockRotate.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockTextEdit.Value = Aspose.Diagram.BOOL.False;

// Salvar diagrama visio de saída desprotegida
diagram.Save("VisioShape_unProtect_Out.vdx", Aspose.Diagram.SaveFileFormat.VDX);

Conclusão

Neste artigo, você aprendeu como proteger ou desproteger formas em um arquivo de diagrama do Visio no formato VSD ou VSDX programaticamente em C#. Além disso, você pode dar uma olhada no espaço documentação para conhecer vários outros recursos da API. Caso você tenha alguma dúvida, sinta-se à vontade para entrar em contato conosco em fórum.

Veja também