قفل فتح الأشكال في PowerPoint PPT في C#

حماية الوثائق الرقمية هي مصدر قلق مشترك هذه الأيام. أنت لا تريد أن يقوم أي شخص غير مصرح له بتغيير محتوى المستندات الخاصة بك. لذلك ، يصبح استخدام آليات الحماية الفعالة أمرًا لا مفر منه. وفقًا لذلك ، في هذه المقالة ، سنوضح لك كيفية حماية عروض PPT / PPTX التقديمية من داخل تطبيقات .NET الخاصة بك. سنحقق ذلك من خلال قفل الأشكال في PowerPoint PPT أو PPTX في C#.

C# .NET API لقفل الأشكال في PowerPoint PPT

لقفل وفتح عروض PowerPoint التقديمية ، سنستخدم Aspose.Slides for .NET. توفر واجهة برمجة التطبيقات مجموعة من الميزات لإنشاء عروض PowerPoint التقديمية ومعالجتها. يمكنك إما تنزيل DLL الخاصة بواجهة برمجة التطبيقات أو تثبيته باستخدام NuGet.

PM> Install-Package Aspose.Slides.NET

قفل الأشكال في PowerPoint PPT في C#

قد يحتوي عرض PowerPoint التقديمي على مجموعة متنوعة من العناصر مثل النص والصور والصوت وما إلى ذلك. تأخذ Aspose.Slides for .NET كل عنصر كشكل أو جزء مشتق من الشكل. لذلك ، لحماية محتوى العروض التقديمية ، نحتاج إلى قفل جميع أشكالها. يوفر Aspose.Slides أقفالًا مناسبة للأنواع التالية من الأشكال.

  • شكل تلقائي
  • شكل المجموعة
  • موصل
  • إطار الصورة

توضح الخطوات التالية كيفية تأمين الأشكال في PowerPoint PPT في C#.

  • أولاً ، قم بتحميل ملف PPT / PPTX باستخدام فئة العرض التقديمي.
  • بعد ذلك ، احصل على الشرائح في العرض التقديمي باستخدام خاصية Presentation.Slides.
  • لكل شريحة ، قم بالوصول إلى أشكالها باستخدام مجموعة ISlide.Shapes.
  • لكل شكل في المجموعة ، قم بتنفيذ الخطوات التالية:
    • تحقق من نوع الشكل.
    • استخدم القفل المناسب حسب نوع الشكل.
  • أخيرًا ، احفظ العرض التقديمي باستخدام طريقة Presentation.Save (سلسلة ، SaveFormat).

يوضح نموذج التعليمات البرمجية التالي كيفية تأمين الأشكال في PowerPoint 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 to pitcture frame shape واحصل على قفل شكل إطار الصورة
                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);
}

فتح عروض PowerPoint التقديمية في C#

لإلغاء قفل الأشكال وجعلها قابلة للتعديل ، ستحتاج إلى إيقاف تشغيل الأقفال. يرجى ملاحظة أنه إذا قمت بقفل الأشكال باستخدام Aspose.Slides لـ .NET ، فسيتعين عليك استخدام نفس واجهة برمجة التطبيقات لإلغاء القفل. يتم فتح القفل عن طريق تعطيل أقفال الشكل وضبط قيمها على false.

يوضح نموذج التعليمات البرمجية التالي كيفية إلغاء تأمين الأشكال في ملف PPTX في C#.

// تحميل العرض
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 to pitcture frame shape واحصل على قفل شكل إطار الصورة
                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 لـ .NET بدون قيود تقييم من خلال الحصول على ترخيص مؤقت مجاني.

استنتاج

في هذه المقالة ، تعلمت كيفية قفل الأشكال في PowerPoint PPT / PPTX في C#. علاوة على ذلك ، لقد رأيت كيفية إلغاء حماية العروض التقديمية عن طريق فتح أشكالها برمجيًا. بصرف النظر عن ذلك ، يمكنك استكشاف المزيد حول Aspose.Slides for .NET من خلال زيارة التوثيق. يمكنك أيضًا إرسال استفساراتك إلى المنتدى.

أنظر أيضا