在Java中鎖定解鎖PowerPoint PPT中的形狀

本文為您提供了在 Java 中鎖定 PowerPoint PPT 形狀的綜合指南。因此,您可以保護 PowerPoint 演示文稿的內容。出於多種原因,鎖定形狀可能很有用,包括防止意外更改、保護品牌標識、保持佈局完整性等。那麼,讓我們繼續看看如何在 Java 演示文稿中鎖定或解鎖形狀。

用於鎖定 PowerPoint PPT 中形狀的 Java 庫

要鎖定和解鎖 PowerPoint 演示文稿,我們將使用 Aspose.Slides for Java。它是一個功能豐富的 Java 庫,用於創建和操作演示文稿文檔。您可以下載該庫或使用 pom.xml 中的以下依賴項安裝它。

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>23.7</version>
    <classifier>jdk16</classifier>
</dependency>

Java 中的 PowerPoint PPT 鎖定形狀

PowerPoint 演示文稿由多種元素組成,例如文本、圖像、音頻等。Aspose.Slides for Java 將每個元素視為 Shape 或從 Shape 派生的 abject。因此,如果鎖定演示文稿中的所有形狀,就可以防止 PPT 被修改。

Aspose.Slides for Java 將 PowerPoint 形狀分為以下類型:

  • 自動形狀
  • 團體形態
  • 連接器
  • 鏡框
  • 圖形對象

現在讓我們看看如何用 Java 鎖定 PowerPoint PPT 中的形狀。

  • 首先,使用Presentation 類加載PPT/PPTX 文件。
  • 然後,使用Presentation.getSlides()方法獲取演示文稿中的幻燈片。
  • 對於每張幻燈片,使用 ISlide.getShapes() 方法訪問其形狀。
  • 對於集合中的每個形狀,執行以下步驟:
    • 檢查形狀的類型。
    • 根據形狀的類型使用合適的鎖。
  • 最後,使用Presentation.save(String, SaveFormat)方法保存演示文稿。

以下代碼示例演示如何使用 Java 鎖定 PowerPoint PPT 中的形狀。

try {
    //加載演示文件
    Presentation pTemplate = new Presentation("presentation.pptx");

    //ISlide 對像用於訪問演示文稿中的幻燈片
    ISlide slide = pTemplate.getSlides().get_Item(0);

    //用於保存臨時形狀的 ISape 對象
    IShape shape;

    //遍歷演示文稿中的所有幻燈片
   for (int slideCount = 0; slideCount < pTemplate.getSlides().size(); slideCount++) {
        slide = pTemplate.getSlides().get_Item(slideCount);

        //遍歷幻燈片中的所有形狀
       for (int count = 0; count < slide.getShapes().size(); count++) {
            shape = slide.getShapes().get_Item(count);

            //如果形狀是自動形狀
            if (shape instanceof IAutoShape) {
                //將類型轉換為自動形狀並獲取自動形狀鎖定
                IAutoShape Ashp = (IAutoShape) shape;
                IAutoShapeLock AutoShapeLock = (IAutoShapeLock) Ashp.getShapeLock();

                //應用形狀鎖
                AutoShapeLock.setPositionLocked(true);
                AutoShapeLock.setSelectLocked(true);
                AutoShapeLock.setSizeLocked(true);
            }

            //如果形狀是群形狀
            else if (shape instanceof IGroupShape) {
                //類型轉換為組形狀並獲取組形狀鎖定
                IGroupShape Group = (IGroupShape) shape;
                IGroupShapeLock groupShapeLock = (IGroupShapeLock) Group.getShapeLock();

                //應用形狀鎖
                groupShapeLock.setGroupingLocked(true);
                groupShapeLock.setPositionLocked(true);
                groupShapeLock.setSelectLocked(true);
                groupShapeLock.setSizeLocked(true);
            }

            //如果形狀是一個連接器
            else if (shape instanceof IConnector) {
                //類型轉換為連接器形狀並獲得連接器形狀鎖定
                IConnector Conn = (IConnector) shape;
                IConnectorLock ConnLock = Conn.getShapeLock();

                //應用形狀鎖
                ConnLock.setPositionMove(true);
                ConnLock.setSelectLocked(true);
                ConnLock.setSizeLocked(true);
            }

            //如果形狀是相框
            else if (shape instanceof IPictureFrame) {
                //類型鑄造為相框形狀並獲得相框形狀鎖定
                IPictureFrame Pic = (IPictureFrame) shape;
                IPictureFrameLock PicLock = (IPictureFrameLock) Pic.getShapeLock();

                //應用形狀鎖
                PicLock.setPositionLocked(true);
                PicLock.setSelectLocked(true);
                PicLock.setSizeLocked(true);
            }
        }
    }
    //保存演示文件
    pTemplate.save("ProtectedSample.pptx", SaveFormat.Pptx);
} catch (Exception e) {
}

在 Java 中解鎖 PowerPoint 形狀

要解鎖 PowerPoint PPT 中鎖定的形狀,只需將其值設置為 false 即可關閉鎖定。值得注意的是,使用 Aspose.Slides for Java 鎖定的形狀無法使用任何其他庫解鎖。

以下代碼示例演示如何使用 Java 解鎖 PPTX 文件中的形狀。

try {
    //加載演示文件
    Presentation pTemplate = new Presentation("presentation.pptx");

    //ISlide 對像用於訪問演示文稿中的幻燈片
    ISlide slide = pTemplate.getSlides().get_Item(0);

    //用於保存臨時形狀的 ISape 對象
    IShape shape;

    //遍歷演示文稿中的所有幻燈片
   for (int slideCount = 0; slideCount < pTemplate.getSlides().size(); slideCount++) {
        slide = pTemplate.getSlides().get_Item(slideCount);

        //遍歷幻燈片中的所有形狀
       for (int count = 0; count < slide.getShapes().size(); count++) {
            shape = slide.getShapes().get_Item(count);

            //如果形狀是自動形狀
            if (shape instanceof IAutoShape) {
                //將類型轉換為自動形狀並獲取自動形狀鎖定
                IAutoShape Ashp = (IAutoShape) shape;
                IAutoShapeLock AutoShapeLock = (IAutoShapeLock) Ashp.getShapeLock();

                //解鎖形狀
                AutoShapeLock.setPositionLocked(false);
                AutoShapeLock.setSelectLocked(false);
                AutoShapeLock.setSizeLocked(false);
            }

            //如果形狀是群形狀
            else if (shape instanceof IGroupShape) {
                //類型轉換為組形狀並獲取組形狀鎖定
                IGroupShape Group = (IGroupShape) shape;
                IGroupShapeLock groupShapeLock = (IGroupShapeLock) Group.getShapeLock();

                //解鎖形狀
                groupShapeLock.setGroupingLocked(false);
                groupShapeLock.setPositionLocked(false);
                groupShapeLock.setSelectLocked(false);
                groupShapeLock.setSizeLocked(false);
            }

            //如果形狀是一個連接器
            else if (shape instanceof IConnector) {
                //類型轉換為連接器形狀並獲得連接器形狀鎖定
                IConnector Conn = (IConnector) shape;
                IConnectorLock ConnLock = Conn.getShapeLock();

                //解鎖形狀
                ConnLock.setPositionMove(false);
                ConnLock.setSelectLocked(false);
                ConnLock.setSizeLocked(false);
            }

            //如果形狀是相框
            else if (shape instanceof IPictureFrame) {
                //類型鑄造為相框形狀並獲得相框形狀鎖定
                IPictureFrame Pic = (IPictureFrame) shape;
                IPictureFrameLock PicLock = (IPictureFrameLock) Pic.getShapeLock();

                //解鎖形狀
                PicLock.setPositionLocked(false);
                PicLock.setSelectLocked(false);
                PicLock.setSizeLocked(false);
            }
        }
    }
    //保存演示文件
    pTemplate.save("ProtectedSample.pptx", SaveFormat.Pptx);
} catch (Exception e) {
}

免費鎖定 PPT 形狀

通過獲取免費臨時許可證,使用 Aspose.Slides for Java 並鎖定 PPT 形狀,不受評估限制。

鎖定 PowerPoint 演示文稿的在線工具

使用我們的免費在線工具鎖定 PowerPoint 演示文稿。無需自行註冊或提供任何其他信息。

結論

在本文中,您學習瞭如何使用 Java 鎖定 PowerPoint PPT 中的形狀。此外,您還了解瞭如何以編程方式解鎖 PPT 形狀。您可以輕鬆使用此形狀鎖定機制來保護您的 PowerPoint 演示文稿。

除此之外,您可以通過訪問 文檔 探索有關 Aspose.Slides for Java 的更多信息。此外,您還可以將您的疑問發佈到我們的論壇

也可以看看