قفل باز کردن قفل اشکال در پاورپوینت PPT در سی شارپ

حفاظت از اسناد دیجیتال یکی از دغدغه های رایج این روزها است. شما نمی خواهید هیچ شخص غیرمجازی محتوای اسناد شما را تغییر دهد. بنابراین، استفاده از مکانیسم های حفاظتی موثر اجتناب ناپذیر می شود. بر این اساس، در این مقاله به شما نشان خواهیم داد که چگونه از ارائه های PPT/PPTX در داخل برنامه های NET خود محافظت کنید. ما این کار را با قفل کردن اشکال در یک پاورپوینت PPT یا PPTX در C# انجام خواهیم داد.

C# .NET API برای قفل کردن اشکال در پاورپوینت PPT

برای قفل و باز کردن قفل ارائه های پاورپوینت، از Aspose.Slides for .NET استفاده می کنیم. API طیف وسیعی از ویژگی ها را برای ایجاد و دستکاری ارائه های پاورپوینت فراهم می کند. می توانید DLL API را دانلود یا با استفاده از NuGet نصب کنید.

PM> Install-Package Aspose.Slides.NET

قفل کردن اشکال در پاورپوینت PPT در سی شارپ

یک ارائه پاورپوینت ممکن است حاوی عناصر مختلفی مانند متن، تصاویر، صدا و غیره باشد. Aspose.Slides for .NET هر عنصر را به عنوان یک شکل یا یک آبجکت برگرفته از Shape می گیرد. بنابراین، برای محافظت از محتوای ارائه ها، باید تمام اشکال آنها را قفل کنیم. Aspose.Slides قفل های مناسبی را برای انواع شکل های زیر فراهم می کند.

  • شکل خودکار
  • شکل گروه
  • رابط
  • قاب عکس

مراحل زیر نحوه قفل کردن اشکال در پاورپوینت PPT در سی شارپ را نشان می دهد.

  • ابتدا فایل PPT/PPTX را با استفاده از کلاس Presentation بارگذاری کنید.
  • سپس، با استفاده از ویژگی Presentation.Slides، اسلایدهایی را در ارائه دریافت کنید.
  • برای هر اسلاید، با استفاده از مجموعه ISlide.Shapes به اشکال آن دسترسی پیدا کنید.
  • برای هر شکل در مجموعه، مراحل زیر را انجام دهید:
    • نوع شکل را بررسی کنید
    • با توجه به نوع شکل از قفل مناسب استفاده کنید.
  • در نهایت، ارائه را با استفاده از روش Presentation.Save (string, SaveFormat) ذخیره کنید.

نمونه کد زیر نحوه قفل کردن اشکال در پاورپوینت PPTX با استفاده از C# را نشان می دهد.

// بارگذاری ارائه
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)
            {
                // cast را به شکل خودکار تایپ کنید و قفل خودکار شکل را دریافت کنید
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // قفل های شکل را اعمال کنید
                AutoShapeLock.PositionLocked = true;
                AutoShapeLock.SelectLocked = true;
                AutoShapeLock.SizeLocked = true;
            }

            // اگر شکل شکل گروهی باشد
            else if (shape is IGroupShape)
            {
                // cast را به شکل گروهی تایپ کنید و قفل شکل گروهی را دریافت کنید
                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)
            {
                // قالب cast را تایپ کنید تا شکل قاب را به تصویر بکشید و قفل شکل قاب عکس را دریافت کنید
                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);
}

باز کردن قفل ارائه های پاورپوینت در سی شارپ

برای باز کردن قفل اشکال و قابل ویرایش کردن آنها، باید قفل ها را خاموش کنید. لطفاً توجه داشته باشید که اگر اشکال را با استفاده از Aspose.Slides برای دات نت قفل کرده اید، باید از همان API برای باز کردن قفل استفاده کنید. باز کردن قفل با غیرفعال کردن قفل های شکل و تنظیم مقادیر آنها روی false انجام می شود.

نمونه کد زیر نحوه باز کردن قفل اشکال در یک فایل 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)
            {
                // cast را به شکل خودکار تایپ کنید و قفل خودکار شکل را دریافت کنید
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // قفل شکل را باز کنید
                AutoShapeLock.PositionLocked = false;
                AutoShapeLock.SelectLocked = false;
                AutoShapeLock.SizeLocked = false;
            }

            // اگر شکل شکل گروهی باشد
            else if (shape is IGroupShape)
            {
                // cast را به شکل گروهی تایپ کنید و قفل شکل گروهی را دریافت کنید
                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)
            {
                // قالب cast را تایپ کنید تا شکل قاب را به تصویر بکشید و قفل شکل قاب عکس را دریافت کنید
                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);
}

مجوز رایگان دریافت کنید

از Aspose.Slides برای دات نت بدون محدودیت ارزیابی با دریافت یک مجوز موقت رایگان استفاده کنید.

نتیجه

در این مقاله نحوه قفل کردن اشکال در پاورپوینت PPT/PPTX در سی شارپ را یاد گرفتید. علاوه بر این، نحوه محافظت از نمایش ها را با باز کردن قفل اشکال آنها به صورت برنامه ای دیده اید. جدای از آن، می‌توانید با مراجعه به اسناد درباره Aspose.Slides برای دات‌نت بیشتر کاوش کنید. همچنین، می توانید سوالات خود را در [تالار گفتمان] ما ارسال کنید.

همچنین ببینید