Prezentáció megjelenítő létrehozása C++-ban
Bevezetés
Az Aspose.Slides for C++ a prezentációs fájlok diák létrehozásához használható. Ezek a diák megtekinthetők például a Microsoft PowerPoint programban történő prezentációk megnyitásával. Néha azonban a fejlesztőknek szükségük lehet arra, hogy a diák képekként jelenjenek meg a kedvenc képnézőjükben, vagy saját prezentációmegjelenítőt készítsenek. Ilyen esetben az Aspose.Slides lehetővé teszi egyetlen dia kép formátumba exportálását. Ez a cikk leírja, hogyan kell ezt megtenni.
SVG kép generálása diából
Az Aspose.Slides használatával egy prezentációs diából SVG képet generálásához kövesse az alábbi lépéseket:
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezze meg a dia hivatkozását az indexe alapján.
- Nyisson meg egy fájlfolyamot.
- Mentse a diát SVG képként a fájlfolyamra.
auto slideIndex = 0;
auto presentation = MakeObject<Presentation>(u"sample.pptx");
auto slide = presentation->get_Slide(slideIndex);
auto svgStream = File::Create(u"output.svg");
slide->WriteAsSvg(svgStream);
svgStream->Dispose();
presentation->Dispose();
SVG generálása egyedi alakzat-azonosítóval
Az Aspose.Slides használható egy diáról egy egyedi alakzat-azonosítóval rendelkező SVG generálására. Ehhez használja a set_Id metódust a ISvgShape interfésztől. A CustomSvgShapeFormattingController használható az alakzat azonosítójának beállításához.
auto slideIndex = 0;
auto presentation = MakeObject<Presentation>(u"sample.pptx");
auto slide = presentation->get_Slide(slideIndex);
auto svgOptions = MakeObject<SVGOptions>();
svgOptions->set_ShapeFormattingController(MakeObject<CustomSvgShapeFormattingController>());
auto svgStream = File::Create(u"output.svg");
slide->WriteAsSvg(svgStream, svgOptions);
svgStream->Dispose();
presentation->Dispose();
class CustomSvgShapeFormattingController : public ISvgShapeFormattingController
{
private:
int m_shapeIndex;
public:
CustomSvgShapeFormattingController(int shapeStartIndex = 0)
{
m_shapeIndex = shapeStartIndex;
}
void FormatShape(SharedPtr<ISvgShape> svgShape, SharedPtr<IShape> shape)
{
svgShape->set_Id(String::Format(u"shape-{0}", m_shapeIndex++));
}
};
Dia bélyegkép létrehozása
Az Aspose.Slides segít a diák bélyegképeinek előállításában. Egy dia bélyegképének az Aspose.Slides segítségével történő generálásához kövesse az alábbi lépéseket:
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezze meg a dia hivatkozását az indexe alapján.
- Szerezze meg a hivatkozott dia bélyegképét egy meghatározott méretarányban.
- Mentse el a bélyegképet a kívánt képformátumban.
auto slideIndex = 0;
auto scaleX = 1;
auto scaleY = scaleX;
auto presentation = MakeObject<Presentation>(u"sample.pptx");
auto slide = presentation->get_Slide(slideIndex);
auto image = slide->GetImage(scaleX, scaleY);
image->Save(u"output.jpg", ImageFormat::Png);
image->Dispose();
presentation->Dispose();
Dia bélyegkép létrehozása felhasználó által meghatározott méretekkel
Felhasználó által meghatározott méretekkel rendelkező dia bélyegkép létrehozásához kövesse az alábbi lépéseket:
- Hozzon létre egy példányt a Presentation osztályból.
- Szerezze meg a dia hivatkozását az indexe alapján.
- Szerezze meg a hivatkozott dia bélyegképét a meghatározott méretekkel.
- Mentse el a bélyegképet a kívánt képformátumban.
auto slideIndex = 0;
auto slideSize = Size(1200, 800);
auto presentation = MakeObject<Presentation>(u"sample.pptx");
auto slide = presentation->get_Slide(slideIndex);
auto image = slide->GetImage(slideSize);
image->Save(u"output.jpg", ImageFormat::Png);
image->Dispose();
presentation->Dispose();
Dia bélyegkép létrehozása előadói jegyzetekkel
Az Aspose.Slides használatával előadói jegyzetekkel ellátott dia bélyegképének generálásához kövesse az alábbi lépéseket:
- Hozzon létre egy példányt a RenderingOptions osztályból.
- Használja a
RenderingOptions.set_SlidesLayoutOptionsmetódust az előadói jegyzetek pozíciójának beállításához. - Hozzon létre egy példányt a Presentation osztályból.
- Szerezze meg a dia hivatkozását az indexe alapján.
- Szerezze meg a hivatkozott dia bélyegképét a renderelési beállításokkal.
- Mentse el a bélyegképet a kívánt képformátumban.
auto slideIndex = 0;
auto layoutingOptions = MakeObject<NotesCommentsLayoutingOptions>();
layoutingOptions->set_NotesPosition(NotesPositions::BottomTruncated);
auto renderingOptions = MakeObject<RenderingOptions>();
renderingOptions->set_SlidesLayoutOptions(layoutingOptions);
auto presentation = MakeObject<Presentation>(u"sample.pptx");
auto slide = presentation->get_Slide(slideIndex);
auto image = slide->GetImage(renderingOptions);
image->Save(u"output.png", ImageFormat::Png);
image->Dispose();
presentation->Dispose();
Élő példa
Próbálhatja ki a Aspose.Slides Viewer ingyenes alkalmazást, hogy lássa, mit valósíthat meg az Aspose.Slides API-val:

GYIK
Beágyazhatok-e prezentációmegjelenítőt egy webalkalmazásba?
Igen. Az Aspose.Slides szerveroldalon használható a diák képként vagy HTML-ként történő renderelésére, majd a böngészőben történő megjelenítésére. A navigációs és nagyítási funkciók JavaScript segítségével valósíthatók meg egy interaktív élményhez.
Mi a legjobb módja a diák megjelenítésének egy saját megjelenítőben?
A javasolt megközelítés minden diát képként (pl. PNG vagy SVG) renderelni, vagy az Aspose.Slides segítségével HTML-re konvertálni, majd a kimenetet egy képkeretben (asztali alkalmazás esetén) vagy HTML konténerben (web esetén) megjeleníteni.
Hogyan kezeljem a sok diát tartalmazó nagy prezentációkat?
Nagy prezentációk esetén érdemes a diák lusta betöltését vagy igény szerinti renderelését alkalmazni. Ez azt jelenti, hogy a dia tartalma csak akkor kerül előállításra, amikor a felhasználó a diahoz navigál, ezáltal csökkentve a memória- és betöltési időt.