获取 PowerPoint 主题和颜色信息

使用 Java Cloud SDK 获取 PowerPoint 主题、字体详细信息

为了使 PowerPoint 演示文稿更具吸引力和震撼力,我们采用了各种字体和调色板。此外,为了显示一致的布局并为最终用户留下深刻的惊喜体验,我们应用了 PowerPoint 主题。但是,我们可能从不同来源收到了演示文稿文件,并且有兴趣阅读 PPT 主题详细信息以及查找调色板,以便可以进一步利用这些信息。因此在本文中,我们将详细讨论如何以编程方式读取 Microsoft PowerPoint 主题信息。

PowerPoint 配色方案处理 API

为了创建、阅读、编辑 PowerPoint 并将其转换为各种支持的格式,Aspose.Slides Cloud 是一个可靠的解决方案。其基于 REST 的架构使您能够在任何平台上调用 API。现在,为了在 Java 应用程序中获得所有这些功能,我们专门创建了 Aspose.Slides Cloud SDK for Java,它是 Cloud API 的包装器。现在,为了在 Java 应用程序中使用 SDK,第一步是通过在 maven 构建类型项目的 pom.xml 中包含以下信息来在项目中添加其引用。

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-slides-cloud</artifactId>
        <version>22.9.0</version>
    </dependency>
</dependencies>

如果您还没有创建帐户,您可以使用有效的电子邮件地址通过 Aspose Cloud 注册免费试用。现在使用新创建的帐户登录并在 Cloud Dashboard 查找/创建客户端 ID 和客户端密码。在以下部分中,出于身份验证目的需要这些详细信息。

获取 PowerPoint 主题信息

如上所述,我们使用演示文稿模板,以便我们在整个 PowerPoint 演示文稿中拥有一致的主题/布局。但是,我们可能需要获取 PowerPoint 主题详细信息以进行进一步处理。此外,演示设计元素的主要属性由演示主题决定。每个主题都使用自己独特的一组颜色、字体和效果来创建幻灯片的整体外观。以下详细信息允许您使用 Java 代码片段从 PowerPoint 演示文稿中读取有关幻灯片主题的信息。

  • 首先,创建 SlidesApi 对象的对象,同时提供 ClientID 和 Client secret 作为参数
  • 其次,创建一个以输入的PowerPoint模板文件地址为参数的File实例
  • 第三,使用 readAllBytes(…) 读取 PowerPoint 文件的内容并将其保存在 byte[] 数组中
  • 现在使用 uploadFile(…) 方法将输入的 PowerPoint 上传到云存储
  • 最后在提供输入 PowerPoint PowerPoint 名称、幻灯片索引的同时调用 getTheme(…) 方法。信息显示在控制台中。
// 更多详情,请访问 https://github.com/aspose-slides-cloud/aspose-slides-cloud-java

try
    {	    
        // 从 https://dashboard.aspose.cloud/ 获取 ClientID 和 ClientSecret
        String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
	String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

	// 创建 SlidesApi 的实例
	SlidesApi slidesApi = new SlidesApi(clientId,clientSecret);
  
        // 从本地系统加载文件
	File f = new File("tf03431377_win32.potx");

	// 加载第一个 PowerPoint 演示文稿
	byte[] bytes = Files.readAllBytes(f.toPath());
	// 将演示文稿上传到云存储
	slidesApi.uploadFile("source.potx", bytes, null);
	
	// 阅读第三张幻灯片中的主题。
	var slideTheme = slidesApi.getTheme("source.potx", 1, null, null, null);

	// 印刷资源参考配色方案、字体方案和格式方案。
	System.out.println(slideTheme.getColorScheme().getHref());
	System.out.println(slideTheme.getFontScheme().getHref());
	System.out.println(slideTheme.getFormatScheme().getHref());
    }catch(Exception ex)
    {
        System.out.println(ex);
    }

在 Java 中阅读 PowerPoint 配色方案

PowerPoint 处理 API 还使我们能够使用 Java 代码片段读取 powerPoint 配色方案详细信息。 API 期望源文件在云存储中可用。

  • 首先,创建 SlidesApi 对象的对象,同时提供 ClientID 和 Client secret 作为参数
  • 其次,调用 getColorScheme(…) 方法,该方法需要来自云存储的 PowerPoint 和幻灯片索引作为参数
  • 现在通过调用 getHyperlink(…) 方法在控制台中打印配色方案信息
// 更多详情,请访问 https://github.com/aspose-slides-cloud/aspose-slides-cloud-java

try
    {   
        // 从 https://dashboard.aspose.cloud/ 获取 ClientID 和 ClientSecret
        String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
	String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

        // 创建 SlidesApi 的实例
	SlidesApi slidesApi = new SlidesApi(clientId,clientSecret);

        // 阅读应用于第一张幻灯片的配色方案。
	var colorScheme = slidesApi.getColorScheme("source.potx", 1, null, null, null);

	// 打印超链接颜色。
	System.out.println("Hyperlink color: " + colorScheme.getHyperlink());
    }catch(Exception ex)
    {
      System.out.println(ex);
    }

上例中使用的示例演示模板可以从 RainbowPresentation.potx 下载。

使用 Java 获取 PowerPoint 字体

在本节中,我们将讨论读取 PowerPoint 字体信息的步骤。所以我们可以单独在 PowerPoint 幻灯片之间遍历并检索字体信息

  • 第一步是创建 SlidesApi 对象的实例
  • 其次,创建一个 FontScheme 对象,它将保存 getFontScheme(…) 方法返回的数据
  • 现在为了检索字体信息,请调用 getName(…) 方法并在控制台打印信息
// 有关详细信息,请访问 https://github.com/aspose-slides-cloud/aspose-slides-cloud-java

try
    {   
        // 从 https://dashboard.aspose.cloud/ 获取 ClientID 和 ClientSecret
        String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
	String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

        // 创建 SlidesApi 的实例
	SlidesApi slidesApi = new SlidesApi(clientId,clientSecret);

	// 阅读第一张幻灯片中的字体方案。
        FontScheme fontScheme = slidesApi.getFontScheme("source.potx", 2, null, null, null);

	// 打印字体方案名称。
	System.out.println(fontScheme.getName());    
    }catch(Exception ex)
    {
      System.out.println(ex);
    }

使用 cURL 命令读取 PowerPoint 字体

现在是使用 cURL 命令阅读字体方案详细信息的时候了。但是,作为先决条件,我们需要在执行以下命令时首先生成 JWT 访问令牌(基于客户端凭据)。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

现在我们有了 JWT 令牌,请执行以下命令。

curl -v -X GET "https://api.aspose.cloud/v3.0/slides/source.potx/slides/2/theme/fontScheme" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

下面给出的是执行命令后的响应正文内容

{
  "major": {
    "complexScript": "Arial",
    "eastAsian": "Segoe Print",
    "latin": "Segoe Print"
  },
  "minor": {
    "complexScript": "Arial",
    "eastAsian": "Segoe Print",
    "latin": "Segoe Print"
  },
  "name": "Segoe Print",
  "selfUri": {
    "href": "https://api.aspose.cloud/v3.0/slides/source.potx/slides/2/theme/fontScheme",
    "relation": "self",
    "slideIndex": 2
  }
}

结论

我们刚刚学习了如何获取 PowerPoint 主题信息、如何读取 PowerPoint 配色方案信息以及如何检索 PowerPoint 字体详细信息的详细信息。除了 Java 代码片段,您还可以检索这些 uisng cURL 命令的细节。请注意,我们所有的 Cloud SDK 都是在 MIT 许可下发布的,因此您可以考虑从 GitHub 下载完整的源代码并根据您的要求进行修改。如有任何问题,您可以考虑通过免费的 产品支持论坛 联系我们寻求快速解决方案。

相关文章

请访问以下链接以了解更多信息: