Renderizar secuencia de páginas usando las propiedades PageIndex y PageCount de ImageOrPrintOptions con C++

Escenarios de uso posibles

Puede renderizar una secuencia de páginas de su archivo de Excel a imágenes utilizando Aspose.Cells con las propiedades ImageOrPrintOptions.GetPageIndex() y ImageOrPrintOptions.GetPageCount(). Estas propiedades son útiles cuando hay muchas, por ejemplo, miles de páginas en su hoja de trabajo, pero solo desea representar algunas de ellas. Esto no solo ahorrará tiempo de procesamiento, sino que también ahorrará el consumo de memoria del proceso de renderizado.

Renderizar secuencia de páginas usando las propiedades PageIndex y PageCount de ImageOrPrintOptions

El siguiente código de muestra carga el archivo de Excel de muestra y renderiza solo las páginas 4, 5, 6 y 7 usando las propiedades ImageOrPrintOptions.GetPageIndex() y ImageOrPrintOptions.GetPageCount(). Aquí se muestran las páginas generadas por el código.

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

Código de muestra

#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();
}