不同的文件格式和转换
Microsoft PowerPoint (PPT)
关于 PPT
PPT 是一种演示文稿文件格式,可由不同版本的 Microsoft PowerPoint 创建、读取、操作和写入。这是 Microsoft 开发的演示文稿的二进制格式。
C++ 版 Aspose.Slides 中的 PPT
Aspose.Slides for C++ 能读取以下软件创建的 PPT 文件。
- Microsoft PowerPoint 97
- Microsoft PowerPoint 2000
- Microsoft PowerPoint XP
- Microsoft PowerPoint 2003
同样,由 Aspose.Slides for C++ 创建的 PPT 文件也可以被上述软件读取。
对 PPT 的全面支持
Aspose.Slides for C++ 提供几乎所有与 PPT 文档文件格式相关的功能支持。它不仅涵盖了不同 Microsoft PowerPoint 版本提供的基本/高级 PPT 文档操作功能,还包括一些 Microsoft PowerPoint 本身不支持的功能。使用 Aspose.Slides for C++ API 库的主要优势在于处理这些功能的便利性。
除了创建、读取和写入 PPT 文档文件的基本任务外,Aspose.Slides for C++ 还提供了以下多项功能:
- 将其他 MS Office 文件格式导入为 PPT 文档中的 OLE 对象。
- 将 PPT 文档导出为 PDF、TIFF、XPS 格式。
- 将 PPT 文档中的幻灯片导出为 SVG 格式。
- 将幻灯片渲染为 C++ 框架支持的任意图像格式。
- 设置 PPT 文档中幻灯片的尺寸。
- 管理形状的动画效果。
- 管理幻灯片放映。
- 格式化幻灯片中的文本。
- 从 PPT 文档中扫描文本。
- 处理幻灯片中的表格。
- 使用克隆功能自动复制母版。
由 Aspose.Slides for C++ 生成并在 Microsoft PowerPoint 中打开的 PPT 文件
PresentationML(PPTX,XML)
关于 PresentationML
PresentationML 是一系列基于 XML 的演示文稿文件格式的名称。Office OpenXML(OOXML)是 Microsoft Office 2007 应用程序引入的基于 XML 的格式。Office OpenXML 是一种容器格式,包含多个专用的基于 XML 的标记语言。PresentationML 是 Microsoft Office PowerPoint 2007 用于存储文档的标记语言。
C++ 版 Aspose.Slides 中的 PresentationML
OOXML PresentationML 文档以 PPTX 文件形式出现,PPTX 是遵循 OOXML ECMA-376 规范的压缩 XML 包。Aspose.Slides for C++ 广泛支持创建、读取、操作和写入 PresentationML 文档。此外,Aspose.Slides for C++ 能将 PresentationML 文档导出为多种常用文档格式,如 PDF、TIFF 和 XPS。这得益于 Aspose.Slides for C++ 旨在全面处理演示文稿,并且 PresentationML 本质上是以压缩 XML 包的形式保存文档内部结构。
由 Aspose.Slides for C++ 生成并在 Microsoft PowerPoint 中打开的 PPTX 文档
在压缩文件浏览器中查看由 Aspose.Slides for C++ 生成的 PPTX 文档
PresentationML 是开源的,为什么要使用 Aspose.Slides for C++
由于 PresentationML 基于 XML,完全可以使用 XML 类自行构建处理和生成 PresentationML 文档的应用,而无需依赖像 Aspose.Slides for C++ 这样的第三方类库。然而,在使用 XML 类处理 PresentationML 文档时,使用 Aspose.Slides for C++ 仍有多项优势。
OOXML 规范篇幅极长,达数千页。这意味着若要正确处理 PresentationML 文档,需要花费大量时间和精力去理解其格式。相反,使用 Aspose.Slides for C++ 时,只需调用相应的类及其方法/属性即可完成那些通过 XML 类实现时相当复杂的操作。
以下功能即使使用 XML 类处理 PresentationML 文档也无法实现:
- 将 PPT 文档导出为 PDF、TIFF、XPS 格式
- 将 PPT 文档中的幻灯片导出为 SVG 格式
- 将幻灯片渲染为 C++ 框架支持的任意图像格式
- 使用克隆功能自动从源演示文稿复制母版
- 对形状应用保护
下面以一个包含单张幻灯片、其中有一个文本框写有“Hello World”文本的 PresentationML 文档为例。若要通过 XML 类读取该文本,需要编写程序从以下片段中解析此简单文本:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<p:sld xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">
<p:cSld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id="1" name=""/>
<p:cNvGrpSpPr/>
<p:nvPr/>
</p:nvGrpSpPr>
<p:grpSpPr>
<a:xfrm>
<a:off x="0" y="0"/>
<a:ext cx="0" cy="0"/>
<a:chOff x="0" y="0"/>
<a:chExt cx="0" cy="0"/>
</a:xfrm></p:grpSpPr><p:sp>
<p:nvSpPr><p:cNvPr id="4" name="TextBox 3"/>
<p:cNvSpPr txBox="1"/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x="2819400" y="2590800"/>
<a:ext cx="1297086" cy="369332"/>
</a:xfrm>
<a:prstGeom prst="rect">
<a:avLst/>
</a:prstGeom>
<a:noFill/>
</p:spPr>
<p:txBody>
<a:bodyPr wrap="none" rtlCol="0">
<a:spAutoFit/>
</a:bodyPr>
<a:lstStyle/>
<a:p>
<a:r>
<a:rPr lang="en-US"/>
<a:t>Hello World
</a:t>
</a:r>
<a:endParaRPr lang="en-US"/>
</a:p>
</p:txBody>
</p:sp>
</p:spTree>
</p:cSld>
<p:clrMapOvr>
<a:masterClrMapping/>
</p:clrMapOvr>
</p:sld>
PPT 转 PPTX 转换
关于转换
Aspose.Slides 现在亦支持将 PPT 转换为 PPTX。
转换中支持的功能
Aspose.Slides for C++ 为将 PPT 文档格式的演示转换为 PPTX 文件格式的演示提供了部分支持。由于此转换功能刚在 Aspose.Slides for C++ 中引入,当前功能仍然有限,仅适用于简单的演示文稿。使用 Aspose.Slides for C++ API 库进行 PPT 到 PPTX 的转换的主要优势在于 API 的易用性,可快速实现目标。请前往 thislink 的代码片段章节了解详细信息。以下部分清晰说明了在将 PPT 格式演示转换为 PPTX 格式演示时哪些功能受支持,哪些不受支持。
支持的功能
转换过程中支持以下功能:
- 母版、版式和幻灯片结构的转换
- 母版、版式和幻灯片结构的转换
- 图表的转换
- 组合形状
- 自动形状(包括矩形和椭圆)的转换。但可能出现自动形状的调整值不正确的情况
- 具有自定义几何形状的形状。某些情况下可能无法转换
- 自动形状的纹理和图片填充样式。某些情况下可能无法转换
- 占位符的转换
- 文本框和文本占位符中的文本转换。但项目符号、对齐和制表符未完全实现
不支持的功能
转换过程中不支持以下功能:
- 包含备注的幻灯片:PPTX 未实现读取备注。如果 PPT 中有备注,则无法保存为 PPTX。* 直线和折线的转换
- 线条和填充格式
- 渐变填充样式
- OLE 框架、表格、视频和音频框架等
- 动画及其他幻灯片属性被跳过
新的或缺失的功能将会在后续的 Aspose.Slides for C++ 版本中加入。
源 PPT 演示文稿
转换后的 PPTX 演示文稿
可移植文档格式(PDF)
关于 PDF
Portable Document Format 是 Adobe 系统创建的文件格式,用于在不同组织之间交换文档。该格式的目的是使文档内容的视觉外观不依赖于查看平台。
C++ 版 Aspose.Slides 中的 PDF
任何可以加载到 Aspose.Slides for C++ 的演示文稿都可以转换为 PDF 文档,PDF 可符合 PDF 1.5 或 PDF /A-1b 标准,取决于您的选择。Aspose.Slides for C++ 将演示文稿导出为 PDF 时,大多数情况下导出的 PDF 文档外观几乎与原始演示文稿相似。Aspose 在转换为 PDF 文档时支持以下演示文稿功能:
- 图像、文本框和其他形状
- 文本及格式化
- 段落及格式化
- 超链接
- 页眉和页脚
- 项目符号
- 表格
您可以仅使用 Aspose.Slides for C++ 组件直接将演示文稿导出为 PDF 文档,无需任何其他第三方或 Aspose.Pdf 组件。此外,您还可以按照 thislink 中的说明,对演示到 PDF 的导出进行各种自定义选项设置。
通过 Aspose.Slides for C++ 将演示文稿转换为 PDF 文档
XML 打印规范(XPS)
关于 XPS
XML Parser Specification 是一种页面描述语言和固定文档格式,最初由 Microsoft 开发。与 PDF 类似,XPS 是一种固定布局的文档格式,旨在保持文档完整性并提供与设备无关的文档外观。
C++ 版 Aspose.Slides 中的 XPS
任何可以由 Aspose.Slides for C++ 加载的演示文稿都可以转换为 XPS 格式。Aspose.Slides for C++ 使用高保真页面布局和渲染引擎生成固定布局的 XPS 文档。值得一提的是,Aspose.Slides for C++ 直接生成 XPS,而不依赖于随 C++ Framework 3.5 捆绑的 Windows Presentation Foundation(WPF)类,从而使其能够在运行早于 3.5 版本的 C++ Framework 的机器上生成 XPS 文档。您可以在 thislink 中了解通过 Aspose.Slides for C++ 将演示文稿导出为 XPS 文档的方式。
通过 Aspose.Slides for C++ 将演示文稿转换为 XPS 文档