Kunci buka kunci bentuk di PowerPoint PPT di C#

Perlindungan dokumen digital menjadi perhatian umum akhir-akhir ini. Anda tidak ingin orang yang tidak berwenang mengubah konten dokumen Anda. Oleh karena itu, menjadi tak terelakkan untuk menggunakan mekanisme perlindungan yang efektif. Oleh karena itu, dalam artikel ini, kami akan menunjukkan cara melindungi presentasi PPT/PPTX dari dalam aplikasi .NET Anda. Kami akan melakukannya dengan mengunci bentuk di PowerPoint PPT atau PPTX di C#.

C# .NET API untuk Mengunci Bentuk di PowerPoint PPT

Untuk mengunci dan membuka presentasi PowerPoint, kita akan menggunakan Aspose.Slides for .NET. API menyediakan berbagai fitur untuk membuat dan memanipulasi presentasi PowerPoint. Anda dapat mengunduh DLL API atau menginstalnya menggunakan NuGet.

PM> Install-Package Aspose.Slides.NET

Kunci Bentuk di PowerPoint PPT di C#

Presentasi PowerPoint dapat berisi berbagai elemen seperti teks, gambar, audio, dll. Aspose.Slides for .NET mengambil setiap elemen sebagai Bentuk atau turunan dari Bentuk. Jadi, untuk melindungi konten presentasi, kita perlu mengunci semua bentuknya. Aspose.Slides menyediakan kunci yang sesuai untuk jenis bentuk berikut.

  • Bentuk Otomatis
  • Bentuk Grup
  • Penyambung
  • Bingkai gambar

Langkah-langkah berikut menunjukkan cara mengunci bentuk di PowerPoint PPT di C#.

  • Pertama, muat file PPT/PPTX menggunakan kelas Presentation.
  • Kemudian, dapatkan slide dalam presentasi menggunakan properti Presentation.Slides.
  • Untuk setiap slide, akses bentuknya menggunakan koleksi ISlide.Shapes.
  • Untuk setiap bentuk dalam koleksi, lakukan langkah-langkah berikut:
    • Periksa jenis bentuknya.
    • Gunakan kunci yang tepat sesuai dengan jenis bentuknya.
  • Terakhir, simpan presentasi menggunakan metode Presentation.Save(string, SaveFormat).

Contoh kode berikut menunjukkan cara mengunci bentuk di PowerPoint PPTX menggunakan C#.

// Muat presentasi
using (Presentation presentation = new Presentation("presentation.pptx"))
{
    // Objek IShape untuk menyimpan bentuk sementara
    IShape shape;

    // Telusuri semua slide dalam presentasi
   for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
    {
        var slide = presentation.Slides[slideCount];

        // Telusuri semua bentuk di slide
       for (int count = 0; count < slide.Shapes.Count; count++)
        {
            shape = slide.Shapes[count];

            // Jika bentuk adalah bentuk otomatis
            if (shape is IAutoShape)
            {
                // Ketik cor ke bentuk otomatis dan dapatkan kunci bentuk otomatis
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // Terapkan kunci bentuk
                AutoShapeLock.PositionLocked = true;
                AutoShapeLock.SelectLocked = true;
                AutoShapeLock.SizeLocked = true;
            }

            // Jika bentuk adalah bentuk kelompok
            else if (shape is IGroupShape)
            {
                // Ketik cast to group shape dan dapatkan group shape lock
                IGroupShape Group = shape as IGroupShape;
                IGroupShapeLock groupShapeLock = Group.ShapeLock;

                // Terapkan kunci bentuk
                groupShapeLock.GroupingLocked = true;
                groupShapeLock.PositionLocked = true;
                groupShapeLock.SelectLocked = true;
                groupShapeLock.SizeLocked = true;
            }

            // Jika bentuk adalah penghubung
            else if (shape is IConnector)
            {
                // Ketik cor ke bentuk konektor dan dapatkan kunci bentuk konektor
                IConnector Conn = shape as IConnector;
                IConnectorLock ConnLock = Conn.ShapeLock;

                // Terapkan kunci bentuk
                ConnLock.PositionMove = true;
                ConnLock.SelectLocked = true;
                ConnLock.SizeLocked = true;
            }

            // Jika bentuknya adalah bingkai foto
            else if (shape is IPictureFrame)
            {
                // Ketik cor ke bentuk bingkai gambar dan dapatkan kunci bentuk bingkai gambar
                IPictureFrame Pic = shape as IPictureFrame;
                IPictureFrameLock PicLock = Pic.ShapeLock;

                // Terapkan kunci bentuk
                PicLock.PositionLocked = true;
                PicLock.SelectLocked = true;
                PicLock.SizeLocked = true;
            }
        }
    }

    // Simpan presentasi
    presentation.Save("locked-ppt.pptx", SaveFormat.Pptx);
}

Buka Kunci Presentasi PowerPoint di C#

Untuk membuka kunci bentuk dan membuatnya dapat diedit, Anda harus mematikan kuncinya. Perlu diketahui bahwa jika Anda telah mengunci bentuk menggunakan Aspose.Slides for .NET, maka Anda harus menggunakan API yang sama untuk membuka kunci. Membuka kunci dilakukan dengan menonaktifkan kunci bentuk dan menyetel nilainya ke false.

Contoh kode berikut menunjukkan cara membuka kunci bentuk dalam file PPTX di C#.

// Muat presentasi
using (Presentation presentation = new Presentation("locked-ppt.ppt"))
{
    // Objek IShape untuk menyimpan bentuk sementara
    IShape shape;

    // Telusuri semua slide dalam presentasi
   for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
    {
        var slide = presentation.Slides[slideCount];

        // Telusuri semua bentuk di slide
       for (int count = 0; count < slide.Shapes.Count; count++)
        {
            shape = slide.Shapes[count];

            // Jika bentuk adalah bentuk otomatis
            if (shape is IAutoShape)
            {
                // Ketik cor ke bentuk otomatis dan dapatkan kunci bentuk otomatis
                IAutoShape Ashp = shape as IAutoShape;
                IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;

                // Buka kunci bentuk
                AutoShapeLock.PositionLocked = false;
                AutoShapeLock.SelectLocked = false;
                AutoShapeLock.SizeLocked = false;
            }

            // Jika bentuk adalah bentuk kelompok
            else if (shape is IGroupShape)
            {
                // Ketik cast to group shape dan dapatkan group shape lock
                IGroupShape Group = shape as IGroupShape;
                IGroupShapeLock groupShapeLock = Group.ShapeLock;

                // Buka kunci bentuk
                groupShapeLock.GroupingLocked = false;
                groupShapeLock.PositionLocked = false;
                groupShapeLock.SelectLocked = false;
                groupShapeLock.SizeLocked = false;
            }

            // Jika bentuk adalah penghubung
            else if (shape is IConnector)
            {
                // Ketik cor ke bentuk konektor dan dapatkan kunci bentuk konektor
                IConnector Conn = shape as IConnector;
                IConnectorLock ConnLock = Conn.ShapeLock;

                // Buka kunci bentuk
                ConnLock.PositionMove = false;
                ConnLock.SelectLocked = false;
                ConnLock.SizeLocked = false;
            }

            // Jika bentuknya adalah bingkai foto
            else if (shape is IPictureFrame)
            {
                // Ketik cor ke bentuk bingkai gambar dan dapatkan kunci bentuk bingkai gambar
                IPictureFrame Pic = shape as IPictureFrame;
                IPictureFrameLock PicLock = Pic.ShapeLock;

                // Buka kunci bentuk
                PicLock.PositionLocked = false;
                PicLock.SelectLocked = false;
                PicLock.SizeLocked = false;
            }
        }
    }

    // Simpan presentasi
    presentation.Save("unlocked-ppt.ppt", SaveFormat.Ppt);
}

Dapatkan Lisensi Gratis

Gunakan Aspose.Slides for .NET tanpa batasan evaluasi dengan mendapatkan lisensi sementara gratis.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara mengunci bentuk di PowerPoint PPT/PPTX di C#. Selain itu, Anda telah melihat cara membuka proteksi presentasi dengan membuka kunci bentuknya secara terprogram. Selain itu, Anda dapat mempelajari lebih lanjut tentang Aspose.Slides for .NET dengan mengunjungi dokumentasi. Selain itu, Anda dapat memposting pertanyaan Anda ke forum kami.

Lihat juga