Sequenz von Seiten mithilfe der Eigenschaften PageIndex und PageCount von ImageOrPrintOptions mit C++ rendern

Mögliche Verwendungsszenarien

Sie können eine Sequenz von Seiten Ihrer Excel-Datei zu Bildern rendern, indem Sie Aspose.Cells mit den Eigenschaften ImageOrPrintOptions.GetPageIndex() und ImageOrPrintOptions.GetPageCount() verwenden. Diese Eigenschaften sind nützlich, wenn es beispielsweise Tausende von Seiten in Ihrem Arbeitsblatt gibt, Sie aber nur einige davon rendern möchten. Dadurch wird nicht nur die Verarbeitungszeit gespart, sondern auch der Speicherverbrauch des Renderprozesses.

Sequenz von Seiten rendern mithilfe der Eigenschaften PageIndex und PageCount von ImageOrPrintOptions

Der folgende Beispielcode lädt die Beispiel-Excel-Datei und rendert nur die Seiten 4, 5, 6 und 7 unter Verwendung der Eigenschaften ImageOrPrintOptions.GetPageIndex() und ImageOrPrintOptions.GetPageCount(). Hier sind die von dem Code generierten gerenderten Seiten.

todo:image_alt_text todo:image_alt_text
todo:image_alt_text todo:image_alt_text

Beispielcode

#include <iostream>
#include <string>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
using namespace Aspose::Cells::Drawing;

int main()
{
    Aspose::Cells::Startup();

    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    Workbook wb(srcDir + u"sampleImageOrPrintOptions_PageIndexPageCount.xlsx");

    Worksheet ws = wb.GetWorksheets().Get(0);

    ImageOrPrintOptions opts;
    opts.SetPageIndex(3);
    opts.SetPageCount(4);
    opts.SetImageType(ImageType::Png);

    SheetRender sr(ws, opts);

    for (int i = opts.GetPageIndex(); i < sr.GetPageCount(); i++)
    {
        std::wstring pageNum = std::to_wstring(i + 1);
        U16String filePath = outDir + U16String(u"outputImage-") + 
            U16String(reinterpret_cast<const char16_t*>(pageNum.c_str())) + 
            U16String(u".png");
        sr.ToImage(i, filePath);
    }

    std::cout << "Images generated successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}