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 到 PDF 或 PPT 到 PDF 转换过程的实时实现。