PresentationML (PPTX, XML)
O PresentationML
PresentationML je název pro rodinu formátů založených na XML pro prezentační dokumenty. Office OpenXML (OOXML) je formát založený na XML, který byl představen v aplikacích Microsoft Office 2007. Office OpenXML je kontejnerový formát pro několik specializovaných jazyků značkování založených na XML. PresentationML je jazyk značkování používaný Microsoft Office PowerPoint 2007 k ukládání jeho dokumentů.
PresentationML v Aspose.Slides pro C++
Dokumenty OOXML PresentationML jsou ve formě souborů PPTX, které jsou zkomprimované XML balíčky podle specifikací OOXML ECMA-376. Aspose.Slides pro C++ rozsáhle podporuje vytváření, čtení, manipulaci a zápis dokumentů PresentationML. Navíc je Aspose.Slides pro C++ schopno exportovat dokumenty PresentationML do různých široce používaných formátů, jako jsou PDF, TIFF a XPS. To je možné, protože Aspose.Slides pro C++ bylo navrženo s cílem komplexně zpracovávat prezentační dokumenty a PresentationML v podstatě obsahuje interní strukturu dokumentů jako zkomprimovaný XML balíček.
PresentationML je otevřený, proč použít Aspose.Slides pro C++
Vzhledem k tomu, že PresentationML je založený na XML, je poměrně snadné vytvářet aplikace pro zpracování a generování dokumentů PresentationML pomocí XML tříd, aniž byste se spolehli na knihovny třetích stran, jako je Aspose.Slides pro C++. Nicméně existuje několik výhod použití Aspose.Slides pro C++ oproti XML třídám při práci s dokumenty PresentationML.
Specifikace OOXML je příliš rozsáhlá, sahá na několik tisíc stránek. To znamená, že pro řádné zpracování dokumentů PresentationML budete muset věnovat spoustu času a úsilí pochopení formátu těchto dokumentů. Naopak při použití Aspose.Slides pro C++ stačí použít příslušné třídy a jejich metody / vlastnosti k provádění operací, které by se zdály být poměrně složité při použití XML tříd.
Následující jsou některé funkce, které nejsou dostupné při práci s dokumenty PresentationML pomocí XML tříd:
- Exportovat PPT dokumenty do formátů PDF, TIFF, XPS
- Exportovat snímky v PPT dokumentech do formátu SVG
- Vykreslit snímek do libovolného formátu obrázku podporovaného C++ frameworkem
- Automatické kopírování masterů ze zdrojových prezentací pomocí funkce klonování
- Aplikace ochrany na tvary
Uveďme příklad dokumentu PresentationML, který obsahuje jediný snímek s jedním textovým polem obsahujícím text „Hello World“. Pro načtení textu pomocí XML tříd budete muset napsat program, který dokáže parsovat tento jednoduchý text z následujícího úryvku:
Příklad
<?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>