Vykreslit snímky prezentace jako SVG obrázky v C++

Přehled

Tento článek vysvětluje, jak vykreslovat snímky prezentace jako SVG obrázky pomocí Aspose.Slides. Popisuje formát SVG a jeho výhody, včetně škálovatelnosti, přístupnosti a vhodnosti pro webový vývoj.

Dozvíte se, jak načíst soubor prezentace, projít její snímky a uložit každý snímek jako samostatný SVG soubor. Článek pokrývá formáty PowerPoint a OpenDocument, včetně PPT, PPTX, ODP a PPS, a ukazuje, jak provést konverzi programově pomocí třídy Presentation a metody WriteAsSvg.

Formát SVG

SVG — zkratka pro Scalable Vector Graphics — je standardní typ grafiky nebo formát používaný k vykreslování dvourozměrných obrázků. SVG ukládá obrázky jako vektory v XML s podrobnostmi, které definují jejich chování nebo vzhled.

SVG je jedním z mála formátů pro obrázky, které splňují velmi vysoké standardy v těchto oblastech: škálovatelnost, interaktivita, výkon, přístupnost, programovatelnost a další. Z těchto důvodů je běžně používán ve webovém vývoji.

Můžete chtít používat SVG soubory, když potřebujete

  • vytisknout prezentaci ve velmi velkém formátu. SVG obrázky lze zvětšit na libovolné rozlišení nebo úroveň. Můžete měnit velikost SVG obrázků tolikrát, kolik je potřeba, aniž byste ztratili kvalitu.
  • použít grafy a diagramy ze svých snímků v různých médiích nebo platformách. Většina čteček dokáže interpretovat SVG soubory.
  • dosáhnout nejmenších možných velikostí obrázků. SVG soubory jsou obecně menší než jejich vysokorozlišovací ekvivalenty v jiných formátech, zejména v bitmapových formátech (JPEG nebo PNG).

Vykreslení snímku jako SVG obrázku

Aspose.Slides pro C++ vám umožňuje exportovat snímky v prezentacích jako SVG obrázky. Proveďte následující kroky k vytvoření SVG obrázků:

  1. Vytvořte instanci třídy Presentation.
  2. Projděte všechny snímky v prezentaci.
  3. Zapíšete každý snímek do vlastního SVG souboru pomocí FileStream.

Tento ukázkový kód v C++ vám ukazuje, jak převést PPT na SVG pomocí Aspose.Slides:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
        
for (int32_t index = 0; index < pres->get_Slides()->get_Count(); index++)
{
    auto fileName = String::Format(u"slide-{0}.svg", index);
    auto fileStream = System::MakeObject<FileStream>(fileName, FileMode::Create, FileAccess::Write);

    auto slide = pres->get_Slides()->idx_get(index);
    slide->WriteAsSvg(fileStream);
}

Často kladené otázky

Proč se výsledné SVG může lišit mezi prohlížeči?

Podpora konkrétních funkcí SVG je implementována různě v enginech prohlížečů. Parametry SVGOptions pomáhají vyhladit nekompatibility.

Je možné exportovat nejen snímky, ale i jednotlivé tvary do SVG?

Ano. Každý tvar lze uložit jako samostatný SVG, což je praktické pro ikony, piktogramy a opětovné použití grafiky.

Lze sloučit několik snímků do jednoho SVG (pruh/dokumentu)?

Standardní scénář je jeden snímek → jeden SVG. Sloučení více snímků do jednoho SVG plátna je krok po zpracování prováděný na úrovni aplikace.