彩票走势图

使用Aspose.Slides 在 Java 中锁定和解锁PPT内容形状

翻译|行业资讯|编辑:胡涛|2023-08-22 10:18:18.230|阅读 60 次

概述:本文为您提供了在 Java 中锁定 PowerPoint PPT 形状的综合指南,欢迎查阅~

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

Aspose.Slides 是一款 PowerPoint管理API,用于读取,编写,操作和转换PowerPoint幻灯片的独立API,可将PowerPoint转换为PDF,PDF/A,XPS,TIFF,HTML,ODP和其他PowerPoint格式。

Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。

Aspose.Slides for Java最新下载

本文为您提供了在 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 锁定形状
  1. 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 {
//Load presentation file
Presentation pTemplate = new Presentation("presentation.pptx");

//ISlide object for accessing the slides in the presentation
ISlide slide = pTemplate.getSlides().get_Item(0);

//IShape object for holding temporary shapes
IShape shape;

//Traverse through all the slides in the presentation
for (int slideCount = 0; slideCount < pTemplate.getSlides().size(); slideCount++) {
slide = pTemplate.getSlides().get_Item(slideCount);

//Traverse through all the shapes in the slides
for (int count = 0; count < slide.getShapes().size(); count++) {
shape = slide.getShapes().get_Item(count);

//if shape is auto shape
if (shape instanceof IAutoShape) {
//Type casting to Auto shape and getting auto shape lock
IAutoShape Ashp = (IAutoShape) shape;
IAutoShapeLock AutoShapeLock = (IAutoShapeLock) Ashp.getShapeLock();

//Apply shape locks
AutoShapeLock.setPositionLocked(true);
AutoShapeLock.setSelectLocked(true);
AutoShapeLock.setSizeLocked(true);
}

//if shape is group shape
else if (shape instanceof IGroupShape) {
//Type casting to group shape and getting group shape lock
IGroupShape Group = (IGroupShape) shape;
IGroupShapeLock groupShapeLock = (IGroupShapeLock) Group.getShapeLock();

//Apply shape locks
groupShapeLock.setGroupingLocked(true);
groupShapeLock.setPositionLocked(true);
groupShapeLock.setSelectLocked(true);
groupShapeLock.setSizeLocked(true);
}

//if shape is a connector
else if (shape instanceof IConnector) {
//Type casting to connector shape and getting connector shape lock
IConnector Conn = (IConnector) shape;
IConnectorLock ConnLock = Conn.getShapeLock();

//Apply shape locks
ConnLock.setPositionMove(true);
ConnLock.setSelectLocked(true);
ConnLock.setSizeLocked(true);
}

//if shape is picture frame
else if (shape instanceof IPictureFrame) {
//Type casting to pitcture frame shape and getting picture frame shape lock
IPictureFrame Pic = (IPictureFrame) shape;
IPictureFrameLock PicLock = (IPictureFrameLock) Pic.getShapeLock();

//Apply shape locks
PicLock.setPositionLocked(true);
PicLock.setSelectLocked(true);
PicLock.setSizeLocked(true);
}
}
}
//Save the presentation file
pTemplate.save("ProtectedSample.pptx", SaveFormat.Pptx);
} catch (Exception e) {
}
三、在 Java 中解锁 PowerPoint 形状

要解锁 PowerPoint PPT 中锁定的形状,只需将其值设置为false来关闭锁定。值得注意的是,使用 Aspose.Slides for Java 锁定的形状无法使用任何其他库解锁。

以下代码示例演示如何使用 Java 解锁 PPTX 文件中的形状。

try {
//Load presentation file
Presentation pTemplate = new Presentation("presentation.pptx");

//ISlide object for accessing the slides in the presentation
ISlide slide = pTemplate.getSlides().get_Item(0);

//IShape object for holding temporary shapes
IShape shape;

//Traverse through all the slides in the presentation
for (int slideCount = 0; slideCount < pTemplate.getSlides().size(); slideCount++) {
slide = pTemplate.getSlides().get_Item(slideCount);

//Traverse through all the shapes in the slides
for (int count = 0; count < slide.getShapes().size(); count++) {
shape = slide.getShapes().get_Item(count);

//if shape is auto shape
if (shape instanceof IAutoShape) {
//Type casting to Auto shape and getting auto shape lock
IAutoShape Ashp = (IAutoShape) shape;
IAutoShapeLock AutoShapeLock = (IAutoShapeLock) Ashp.getShapeLock();

//Unlock shape
AutoShapeLock.setPositionLocked(false);
AutoShapeLock.setSelectLocked(false);
AutoShapeLock.setSizeLocked(false);
}

//if shape is group shape
else if (shape instanceof IGroupShape) {
//Type casting to group shape and getting group shape lock
IGroupShape Group = (IGroupShape) shape;
IGroupShapeLock groupShapeLock = (IGroupShapeLock) Group.getShapeLock();

//Unlock shape
groupShapeLock.setGroupingLocked(false);
groupShapeLock.setPositionLocked(false);
groupShapeLock.setSelectLocked(false);
groupShapeLock.setSizeLocked(false);
}

//if shape is a connector
else if (shape instanceof IConnector) {
//Type casting to connector shape and getting connector shape lock
IConnector Conn = (IConnector) shape;
IConnectorLock ConnLock = Conn.getShapeLock();

//Unlock shape
ConnLock.setPositionMove(false);
ConnLock.setSelectLocked(false);
ConnLock.setSizeLocked(false);
}

//if shape is picture frame
else if (shape instanceof IPictureFrame) {
//Type casting to pitcture frame shape and getting picture frame shape lock
IPictureFrame Pic = (IPictureFrame) shape;
IPictureFrameLock PicLock = (IPictureFrameLock) Pic.getShapeLock();

//Unlock shape
PicLock.setPositionLocked(false);
PicLock.setSelectLocked(false);
PicLock.setSizeLocked(false);
}
}
}
//Save the presentation file
pTemplate.save("ProtectedSample.pptx", SaveFormat.Pptx);
} catch (Exception e) {
}

以上便是如何在java中锁定PPT形状 ,如您还有关于产品相关方面的疑问,可以继续浏览本系列其他内容,也欢迎您加入我们的交流群发表您遇到的问题。


欢迎下载|体验更多Aspose文档管理产品 
获取更多信息请咨询 或 加入Aspose技术交流群(761297826

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP