C#에서 PowerPoint PPT의 잠금 해제 모양 잠금

오늘날 디지털 문서의 보호는 일반적인 관심사입니다. 권한이 없는 사람이 문서의 내용을 변경하는 것을 원하지 않습니다. 따라서 효과적인 보호 메커니즘을 사용하는 것이 불가피합니다. 따라서 이 기사에서는 .NET 응용 프로그램 내에서 PPT/PPTX 프레젠테이션을 보호하는 방법을 보여줍니다. C#의 PowerPoint PPT 또는 PPTX에서 도형을 잠그면 됩니다.

PowerPoint PPT에서 도형을 잠그는 C# .NET API

PowerPoint 프레젠테이션을 잠그거나 잠금 해제하려면 .NET용 Aspose.Slides를 사용합니다. API는 PowerPoint 프레젠테이션을 만들고 조작하는 다양한 기능을 제공합니다. API의 DLL을 다운로드하거나 NuGet을 사용하여 설치할 수 있습니다.

PM> Install-Package Aspose.Slides.NET

C#의 PowerPoint PPT에서 도형 잠금

PowerPoint 프레젠테이션에는 텍스트, 이미지, 오디오 등과 같은 다양한 요소가 포함될 수 있습니다. .NET용 Aspose.Slides는 각 요소를 Shape 또는 Shape에서 파생된 객체로 사용합니다. 따라서 프레젠테이션의 내용을 보호하려면 모든 모양을 잠가야 합니다. Aspose.Slides는 다음 유형의 모양에 대해 적절한 잠금을 제공합니다.

  • 자동 모양
  • 그룹 모양
  • 커넥터
  • 사진 프레임

다음 단계는 C#에서 PowerPoint PPT의 모양을 잠그는 방법을 보여줍니다.

  • 먼저 Presentation 클래스를 사용하여 PPT/PPTX 파일을 로드합니다.
  • 그런 다음 Presentation.Slides 속성을 사용하여 프레젠테이션에서 슬라이드를 가져옵니다.
  • 각 슬라이드에 대해 ISlide.Shapes 컬렉션을 사용하여 해당 모양에 액세스합니다.
  • 컬렉션의 각 모양에 대해 다음 단계를 수행합니다.
    • 모양의 유형을 확인하십시오.
    • 모양의 종류에 따라 적절한 잠금장치를 사용하십시오.
  • 마지막으로 Presentation.Save(string, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.

다음 코드 샘플에서는 C#을 사용하여 PowerPoint PPTX에서 도형을 잠그는 방법을 보여줍니다.

// 프레젠테이션 로드
using (Presentation presentation = new Presentation("presentation.pptx"))
{
    // 임시 모양을 유지하기 위한 IShape 개체
    IShape shape;

    // 프레젠테이션의 모든 슬라이드 탐색
    for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
    {
        var slide = presentation.Slides[slideCount];

        // 슬라이드의 모든 모양 탐색
        for (int count = 0; count < slide.Shapes.Count; count++)
        {
            shape = slide.Shapes[count];

            // 모양이 자동 모양인 경우
            if (shape is IAutoShape)
            {
                // 자동 모양으로 유형 캐스트 및 자동 모양 잠금 얻기
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // 모양 잠금 적용
                AutoShapeLock.PositionLocked = true;
                AutoShapeLock.SelectLocked = true;
                AutoShapeLock.SizeLocked = true;
            }

            // 모양이 그룹 모양인 경우
            else if (shape is IGroupShape)
            {
                // 그룹 셰이프에 유형 캐스트 및 그룹 셰이프 잠금 가져오기
                IGroupShape Group = shape as IGroupShape;
                IGroupShapeLock groupShapeLock = Group.ShapeLock;

                // 모양 잠금 적용
                groupShapeLock.GroupingLocked = true;
                groupShapeLock.PositionLocked = true;
                groupShapeLock.SelectLocked = true;
                groupShapeLock.SizeLocked = true;
            }

            // 모양이 연결선인 경우
            else if (shape is IConnector)
            {
                // 커넥터 모양으로 유형 캐스트하고 커넥터 모양 잠금 가져오기
                IConnector Conn = shape as IConnector;
                IConnectorLock ConnLock = Conn.ShapeLock;

                // 모양 잠금 적용
                ConnLock.PositionMove = true;
                ConnLock.SelectLocked = true;
                ConnLock.SizeLocked = true;
            }

            // 모양이 액자인 경우
            else if (shape is IPictureFrame)
            {
                // 액자 모양으로 캐스트를 입력하고 액자 모양 잠금을 얻습니다.
                IPictureFrame Pic = shape as IPictureFrame;
                IPictureFrameLock PicLock = Pic.ShapeLock;

                // 모양 잠금 적용
                PicLock.PositionLocked = true;
                PicLock.SelectLocked = true;
                PicLock.SizeLocked = true;
            }
        }
    }

    // 프레젠테이션 저장
    presentation.Save("locked-ppt.pptx", SaveFormat.Pptx);
}

C#에서 PowerPoint 프레젠테이션 잠금 해제

모양을 잠금 해제하고 편집 가능하게 만들려면 잠금을 해제해야 합니다. .NET용 Aspose.Slides를 사용하여 모양을 잠근 경우 잠금 해제를 위해 동일한 API를 사용해야 합니다. 잠금 해제는 모양 잠금을 비활성화하고 해당 값을 false로 설정하여 수행됩니다.

다음 코드 샘플은 C#에서 PPTX 파일의 모양을 잠금 해제하는 방법을 보여줍니다.

// 프레젠테이션 로드
using (Presentation presentation = new Presentation("locked-ppt.ppt"))
{
    // 임시 모양을 유지하기 위한 IShape 개체
    IShape shape;

    // 프레젠테이션의 모든 슬라이드 탐색
    for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
    {
        var slide = presentation.Slides[slideCount];

        // 슬라이드의 모든 모양 탐색
        for (int count = 0; count < slide.Shapes.Count; count++)
        {
            shape = slide.Shapes[count];

            // 모양이 자동 모양인 경우
            if (shape is IAutoShape)
            {
                // 자동 모양으로 유형 캐스트 및 자동 모양 잠금 얻기
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // 모양 잠금 해제
                AutoShapeLock.PositionLocked = false;
                AutoShapeLock.SelectLocked = false;
                AutoShapeLock.SizeLocked = false;
            }

            // 모양이 그룹 모양인 경우
            else if (shape is IGroupShape)
            {
                // 그룹 셰이프에 유형 캐스트 및 그룹 셰이프 잠금 가져오기
                IGroupShape Group = shape as IGroupShape;
                IGroupShapeLock groupShapeLock = Group.ShapeLock;

                // 모양 잠금 해제
                groupShapeLock.GroupingLocked = false;
                groupShapeLock.PositionLocked = false;
                groupShapeLock.SelectLocked = false;
                groupShapeLock.SizeLocked = false;
            }

            // 모양이 연결선인 경우
            else if (shape is IConnector)
            {
                // 커넥터 모양으로 유형 캐스트하고 커넥터 모양 잠금 가져오기
                IConnector Conn = shape as IConnector;
                IConnectorLock ConnLock = Conn.ShapeLock;

                // 모양 잠금 해제
                ConnLock.PositionMove = false;
                ConnLock.SelectLocked = false;
                ConnLock.SizeLocked = false;
            }

            // 모양이 액자인 경우
            else if (shape is IPictureFrame)
            {
                // 액자 모양으로 캐스트를 입력하고 액자 모양 잠금을 얻습니다.
                IPictureFrame Pic = shape as IPictureFrame;
                IPictureFrameLock PicLock = Pic.ShapeLock;

                // 모양 잠금 해제
                PicLock.PositionLocked = false;
                PicLock.SelectLocked = false;
                PicLock.SizeLocked = false;
            }
        }
    }

    // 프레젠테이션 저장
    presentation.Save("unlocked-ppt.ppt", SaveFormat.Ppt);
}

무료 라이선스 받기

무료 임시 라이선스를 받아 평가 제한 없이 .NET용 Aspose.Slides를 사용하십시오.

결론

이 기사에서는 C#의 PowerPoint PPT/PPTX에서 도형을 잠그는 방법을 배웠습니다. 또한 프로그래밍 방식으로 모양을 잠금 해제하여 프레젠테이션의 보호를 해제하는 방법을 살펴보았습니다. 그 외에도 문서를 방문하여 .NET용 Aspose.Slides에 대해 자세히 알아볼 수 있습니다. 또한 포럼에 질문을 게시할 수 있습니다.

또한보십시오