Bảo vệ tệp PowerPoint bằng Python

Các tài liệu kỹ thuật số luôn dễ bị giả mạo bởi các đơn vị trái phép. Do đó, các cơ chế bảo vệ khác nhau được sử dụng để đảm bảo tính bảo mật của các tài liệu. Trong bài viết này, chúng tôi sẽ đặc biệt nhắm mục tiêu đến việc bảo vệ các bản trình bày MS PowerPoint. Vì vậy, bạn sẽ học cách khóa và mở khóa các bản trình bày PowerPoint theo lập trình bằng Python.

Thư viện Python để khóa các bản trình bày PowerPoint

Để khóa và mở khóa các bản trình bày PowerPoint, chúng tôi sẽ sử dụng Aspose.Slides for Python qua .NET. Thư viện cung cấp một loạt các tính năng để tạo và thao tác với các bài thuyết trình PowerPoint. Bạn có thể cài đặt thư viện trong các ứng dụng của mình từ PyPI bằng lệnh sau.

> pip install aspose.slides 

Khóa bản trình bày PowerPoint bằng Python

Bản trình bày PowerPoint có thể chứa nhiều phần tử khác nhau như văn bản, hình ảnh, hình dạng, âm thanh, v.v. Aspose.Slides for Python biểu thị mỗi phần tử dưới dạng Hình dạng hoặc một vật thể bắt nguồn từ Hình dạng. Vì vậy, để bảo vệ nội dung không bị chỉnh sửa, chúng ta cần khóa tất cả các hình dạng trong bản trình bày. Những hình dạng này có thể thuộc các loại sau:

  • Hình dạng tự động
  • Hình dạng nhóm
  • Kết nối
  • Khung tranh

Hãy xem cách khóa tệp PowerPoint PPTX bằng Python.

  • Đầu tiên, tải tệp bản trình bày bằng lớp Trình bày.
  • Sau đó, lấy tham chiếu các trang trình bày trong bản trình bày bằng thuộc tính Presentation.slides.
  • Đối với mỗi trang chiếu, hãy truy cập các hình dạng của nó bằng bộ sưu tập ISlide.shapes.
  • Đối với mỗi hình dạng trong bộ sưu tập, hãy thực hiện các bước sau:
    • Kiểm tra loại hình dạng.
    • Sử dụng khóa thích hợp tùy theo loại hình dạng.
  • Cuối cùng, lưu bản trình bày đã cập nhật bằng phương thức Presentation.save (string, SaveFormat).

Mẫu mã sau đây cho thấy cách bảo vệ bản trình bày bằng cách khóa các hình dạng của nó trong Python.

# tải bản trình bày
with slides.Presentation("presentation.pptx") as pres:

    # lặp qua tất cả các trang trình bày trong bản trình bày
   for slide in pres.slides:
       for shape in slide.shapes:
            # nếu hình dạng là tự động định hình
            if type(shape) is slides.AutoShape:
                auto_shape_lock = shape.shape_lock

                # áp dụng khóa
                auto_shape_lock.position_locked = True
                auto_shape_lock.select_locked = True
                auto_shape_lock.size_locked = True

            # nếu hình dạng là hình dạng nhóm
            elif type(shape) is slides.GroupShape:
                group_shape_lock = shape.shape_lock

                # áp dụng khóa
                group_shape_lock.grouping_locked = True
                group_shape_lock.position_locked = True
                group_shape_lock.select_locked = True
                group_shape_lock.size_locked = True

            # nếu hình dạng là một đầu nối
            elif type(shape) is slides.Connector:
                connector_lock = shape.shape_lock

                # áp dụng khóa
                connector_lock.position_move = True
                connector_lock.select_locked = True
                connector_lock.size_locked = True

            # nếu hình dạng là khung ảnh
            elif type(shape) is slides.PictureFrame:
                picture_lock = shape.shape_lock

                # áp dụng khóa
                picture_lock.position_locked = True
                picture_lock.select_locked = True
                picture_lock.size_locked = True

    # lưu tệp bản trình bày
    pres.save("Locked.pptx", slides.export.SaveFormat.PPTX)

Mở khóa bản trình bày PowerPoint bằng Python

Để mở khóa bản trình bày PowerPoint, bạn cần xóa các khóa khỏi mỗi hình dạng. Xin lưu ý rằng nếu bạn đã khóa bản trình bày bằng Aspose.Slides for Python thì bạn sẽ phải sử dụng cùng một thư viện để mở khóa. Để loại bỏ các ổ khóa, hãy lặp lại các bước đã đề cập trong phần trước và đặt giá trị khóa thành false.

Mẫu mã sau đây cho thấy cách mở khóa bản trình bày PPTX bằng Python.

# tải bản trình bày
with slides.Presentation("Locked.pptx") as pres:

    # lặp qua tất cả các trang trình bày trong bản trình bày
   for slide in pres.slides:
       for shape in slide.shapes:
            # nếu hình dạng là tự động định hình
            if type(shape) is slides.AutoShape:
                auto_shape_lock = shape.shape_lock

                # tháo ổ khóa
                auto_shape_lock.position_locked = False
                auto_shape_lock.select_locked = False
                auto_shape_lock.size_locked = False

            # nếu hình dạng là hình dạng nhóm
            elif type(shape) is slides.GroupShape:
                group_shape_lock = shape.shape_lock

                # tháo ổ khóa
                group_shape_lock.grouping_locked = False
                group_shape_lock.position_locked = False
                group_shape_lock.select_locked = False
                group_shape_lock.size_locked = False

            # nếu loại bỏ là một đầu nối
            elif type(shape) is slides.Connector:
                connector_lock = shape.shape_lock

                # tháo ổ khóa
                connector_lock.position_move = False
                connector_lock.select_locked = False
                connector_lock.size_locked = False

            # nếu hình dạng là khung ảnh
            elif type(shape) is slides.PictureFrame:
                picture_lock = shape.shape_lock

                # tháo ổ khóa
                picture_lock.position_locked = False
                picture_lock.select_locked = False
                picture_lock.size_locked = False

    # lưu tệp bản trình bày
    pres.save("Unlocked.pptx", slides.export.SaveFormat.PPTX)

Nhận giấy phép miễn phí

Sử dụng Aspose.Slides for Python qua .NET mà không có giới hạn đánh giá bằng cách nhận giấy phép tạm thời miễn phí.

Sự kết luận

Bảo vệ các tài liệu kỹ thuật số đã trở nên cần thiết để tránh bị giả mạo nội dung. Do đó, các tài liệu được bảo vệ trước khi chúng được chia sẻ qua internet. Theo đó, bài viết này đề cập đến cách khóa các bản trình bày PowerPoint theo chương trình bằng Python. Hơn nữa, bạn đã thấy cách bỏ bảo vệ các bản trình bày bằng cách mở khóa các phần tử của chúng. Ngoài ra, bạn có thể khám phá thêm về Aspose.Slides for Python bằng cách truy cập tài liệu. Ngoài ra, bạn có thể đăng các truy vấn của mình lên diễn đàn của chúng tôi.

Xem thêm