在 Python 中将 PowerPoint 演示文稿转换为 XPS

概述

Aspose.Slides for Python via Java 允许您通过将 PPT 或 PPTX 文件另存为 XPS 格式来将 PowerPoint 演示文稿转换为 XPS。本文说明了 XPS 可能有用的情形,并展示如何使用默认设置或自定义 XpsOptions 设置导出演示文稿。

关于 XPS

XPS(XML Paper Specification)是 Microsoft 开发的基于 XML 的文档格式。它描述固定页面,保留文本和图形的布局,以便使用兼容的软件进行查看和打印。

何时使用 Microsoft XPS 格式

当文档工作流需要固定布局文件以通过 XPS 兼容工具进行共享或打印时,请使用 XPS。接收方需要支持 XPS 的软件。如果您的工作流需要 PDF,请参见将 PowerPoint 转换为 PDF

输入 PowerPoint 演示文稿 输出 XPS 文档
原始 PowerPoint 演示文稿 已转换为 XPS 的演示文稿

使用 Aspose.Slides 进行 XPS 转换

使用 Presentation 类的 save 方法并指定 SaveFormat.Xps 将演示文稿导出为 XPS。您可以使用默认导出设置,或提供 XpsOptions 来自定义输出。

下面的每个示例在需要时启动 Java 虚拟机,并在使用后释放演示文稿。将输入文件名替换为您的 PPT 或 PPTX 文件的路径。

使用默认设置将演示文稿转换为 XPS

以下 Python 代码使用默认设置将演示文稿转换为 XPS:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

presentation = Presentation("presentation.pptx")
try:
    # 将演示文稿保存为 XPS 文档。
    presentation.save("output.xps", SaveFormat.Xps)
finally:
    presentation.dispose()

使用自定义设置将演示文稿转换为 XPS

以下示例使用 XpsOptions.setSaveMetafilesAsPng 将矢量图元保存为 PNG 图像,以便在生成的 XPS 文档中使用:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat, XpsOptions

presentation = Presentation("presentation.pptx")
try:
    xps_options = XpsOptions()
    xps_options.setSaveMetafilesAsPng(True)

    # 使用自定义 XPS 设置保存演示文稿。
    presentation.save("output_custom.xps", SaveFormat.Xps, xps_options)
finally:
    presentation.dispose()

常见问题

我可以将 XPS 保存到流而不是文件吗?

是的。Presentation.save 方法有接受 Java 输出流的重载。使用 Python via Java 时,可通过 JPype 使用兼容的 Java 流,例如 Java 字节数组输出流,将导出的数据保存在内存中。

隐藏的幻灯片会包含在 XPS 输出中吗?

默认情况下会排除隐藏的幻灯片。若要包含它们,请在保存前将 XpsOptions.setShowHiddenSlides 设置为 True

XPS 会保留动画和幻灯片切换效果吗?

不会。XPS 包含固定页面,因此导出的幻灯片不会播放动画或过渡效果。