Java PowerPoint PPT PPTX 转 PDF

PDF(Portable Document Format)已成为最广泛和最常用的数字文档格式。由于 PDF 格式具有固定的布局,因此大多数文档在共享之前都会转换为 PDF。在各种文档到 PDF 格式的转换中,PowerPoint 到 PDF 的转换是一个流行的用例,应该有一个自动化且省时的解决方案来避免手动转换,特别是当您必须将一堆 PowerPoint 演示文稿转换为 PDF 时。牢记这一点,我将向您展示如何使用 Aspose.Slides for Java API 提供的各种选项在 Java 中以编程方式将 PowerPoint PPT 或 PPTX 转换为 PDF。

Java 中的 PowerPoint 到 PDF 转换

在本文中,我们将介绍使用 Aspose.Slides for Java 的以下转换场景:

  • 在 Java 中将 PowerPoint PPT 或 PPTX 转换为 PDF
  • 使用自定义选项将 PPT 或 PPTX 转换为 PDF
  • 将 PPT 或 PPTX 转换为 PDF,包括隐藏的幻灯片
  • 将 PPT 或 PPTX 转换为受密码保护的 PDF
  • 将 PPT 或 PPTX 的特定幻灯片转换为 PDF
  • 将 PPT 或 PPTX 转换为具有访问权限的 PDF

为 Java 安装 Aspose.Slides

您可以 下载 Aspose.Slides for Java JAR 或使用以下存储库和依赖信息将其添加到基于 maven 的项目中。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>19.12</version>
    <classifier>jdk16</classifier>
</dependency>

在 Java 中将 PowerPoint PPT 或 PPTX 转换为 PDF

以下是使用 Aspose.Slides for Java 提供的默认选项将 PowerPoint 演示文稿转换为 PDF 的简单步骤。

  • 使用 Presentation 对象加载 PowerPoint PPT 或 PPTX 文件。
  • 调用 save() 方法传递输出 PDF 文件名和输出格式。

以下代码示例显示了如何使用默认选项将 PowerPoint PPTX 转换为 Java 中的 PDF。

// 实例化一个表示演示文件的演示对象
Presentation pres = new Presentation("presentation.pptx");

// 使用默认选项将演示文稿保存为 PDF
pres.save("output.pdf", SaveFormat.Pdf);

使用自定义选项将 PowerPoint PPT 或 PPTX 转换为 PDF

Aspose.Slides for Java 提供 PdfOptions 类让您自定义 PowerPoint 到 PDF 的转换。 PdfOptions 类允许您指定 JPEG 质量、定义元文件的行为、设置文本压缩级别、PDF 合规级别和其他选项。以下是使用自定义选项将 PPT 或 PPTX 文件转换为 PDF 的步骤。

  • 使用 Presentation 对象加载 PowerPoint PPT 或 PPTX。
  • 创建 PdfOptions 类的对象。
  • 设置/指定 PdfOptions 类公开的选项。
  • 调用 save() 方法。

以下代码示例显示了如何使用自定义选项将 PowerPoint PPTX 转换为 Java 中的 PDF。

// 实例化一个表示演示文件的 Presentation 对象
Presentation pres = new Presentation("presentation.pptx");

// 实例化 PdfOptions 类
PdfOptions opts = new PdfOptions();
               
// 设置 JPEG 质量
opts.setJpegQuality((byte) 90);

// 定义元文件的行为
opts.setSaveMetafilesAsPng(true);

// 设置文本压缩级别
opts.setTextCompression(PdfTextCompression.Flate);

// 定义 PDF 标准
opts.setCompliance(PdfCompliance.Pdf15);
              
INotesCommentsLayoutingOptions options = opts.getNotesCommentsLayouting();
options.setNotesPosition(NotesPositions.BottomFull);

// 使用指定选项将演示文稿保存为 PDF
pres.save("output.pdf", SaveFormat.Pdf, opts);

将 PowerPoint PPT 或 PPTX 转换为包含隐藏幻灯片的 PDF

当 PowerPoint 演示文稿包含隐藏的幻灯片时,可能会出现这种情况。在默认的 PowerPoint 到 PDF 转换中,Aspose.Slides for Java 会忽略隐藏的幻灯片。但是,如果您想在转换后的 PDF 中包含隐藏的幻灯片,您可以使用 PdfOptions.setShowHiddenSlides(true) 选项。

以下代码示例显示了如何将 PowerPoint PPTX 转换为 PDF,包括 Java 中的隐藏幻灯片。

Presentation pres = new Presentation("presentation.pptx");
try {
	// 实例化 PdfOptions 类
	PdfOptions pdfOptions = new PdfOptions();

	// 指定生成的文档应包含隐藏的幻灯片
	pdfOptions.setShowHiddenSlides(true);

	// 使用指定选项将演示文稿保存为 PDF
	pres.save("output.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
	if (pres != null)
		pres.dispose();
}
	

将 PowerPoint 演示文稿的特定幻灯片转换为 PDF

Aspose.Slides for Java 还允许选择要包含在生成的 PDF 文档中的幻灯片。您可以创建一个数组来指定要包含在 PowerPoint 到 PDF 转换中的幻灯片编号,并将其传递给 save() 方法。

以下代码示例展示了如何将 PowerPoint PPTX 的特定幻灯片转换为 Java 中的 PDF。

// 实例化一个表示演示文件的演示对象
Presentation pres = new Presentation("presentation.pptx");
// 设置幻灯片位置数组
int[] slides = new int[] { 2, 3, 5 };

// 将演示文稿保存为 PDF
pres.save("output.pdf", slides, SaveFormat.Pdf);

将 PowerPoint PPT 或 PPTX 转换为受密码保护的 PDF

您还可以将 PowerPoint 演示文稿转换为受密码保护的 PDF 以保护您的文档。您可以使用 PdfOptions.setPassword(“password”) 设置密码并将 PdfOptions 对象传递给 save() 方法。

以下代码示例展示了如何将 PowerPoint PPTX 转换为 Java 中受密码保护的 PDF。

// 实例化一个表示演示文件的演示对象
Presentation pres = new Presentation("demo.pptx");

// 实例化 PdfOptions 类
PdfOptions opts = new PdfOptions();

// 设置 PDF 密码
opts.setPassword("password");

// 将演示文稿保存为受密码保护的 PDF
pres.save("output.pdf", SaveFormat.Pdf, opts);

使用访问权限将 PowerPoint PPT 或 PPTX 转换为 PDF

PDF 格式允许您指定不同的访问权限,例如打印权限、添加或修改文本注释或表单域的权限等。根据这一特性,Aspose.Slides for Java 提供了对从 PowerPoint 演示文稿转换而来的 PDF 文档设置权限的功能。 PdfAccessPermissions 类包含一组用于不同权限类型的标志,您可以在 PowerPoint 演示文稿中应用到 PDF 转换。

以下 Java 代码示例展示了如何将 PowerPoint 演示文稿转换为具有访问权限的 PDF。

// 创建 PDF 选项
PdfOptions pdfOptions = new PdfOptions();
// 设置密码
pdfOptions.setPassword("my_password");
// 设置访问权限
pdfOptions.setAccessPermissions(PdfAccessPermissions.PrintDocument| PdfAccessPermissions.HighQualityPrint);

// 加载 PowerPoint 演示文稿
Presentation presentation = new Presentation("Presentation.pptx");
try {
   presentation.save("output.pdf", SaveFormat.Pdf, pdfOptions);
} finally {
   if (presentation != null) presentation.dispose();
}

您可以从 GitHub 存储库 下载完整的 Java 源代码示例集。有关 Aspose.Slides for Java 公开的功能的更多详细信息,请访问 文档。如果您发现问题或有任何疑问,请随时通过我们的 论坛 告诉我们。

提示:查看 PowerPoint 到 PDFPPT 到 PDF 转换过程的实时实现。