Imprimir y Vista Previa del Libro de Trabajo con C++

Introducción a la impresión

Microsoft Excel asume que desea imprimir toda el área de la hoja de cálculo a menos que especifique una selección. Para imprimir usando Aspose.Cells, primero importe el espacio de nombres Aspose.Cells.Rendering al programa. Tiene varias clases útiles, por ejemplo, SheetRender y WorkbookRender.

Vista previa de impresión

Puede haber casos en los que se necesite convertir archivos de Excel con millones de páginas a PDF o imágenes. Procesar tales archivos consumirá mucho tiempo y recursos. En tales casos, la función de vista previa de impresión del libro y la hoja de cálculo puede resultar útil. Antes de convertir dichos archivos, el usuario puede verificar el número total de páginas y decidir si se debe convertir o no. Este artículo se centra en el uso de las clases WorkbookPrintingPreview y SheetPrintingPreview para averiguar el número total de páginas.

Aspose.Cells proporciona la función de vista previa de impresión. Para esto, la API proporciona las clases WorkbookPrintingPreview y SheetPrintingPreview. Para crear la vista previa de impresión de todo el libro de trabajo, cree una instancia de la clase WorkbookPrintingPreview pasando objetos Workbook y ImageOrPrintOptions al constructor. La clase WorkbookPrintingPreview proporciona un método GetEvaluatedPageCount() que devuelve el número de páginas en la vista previa generada. Al igual que la clase WorkbookPrintingPreview, la clase SheetPrintingPreview se utiliza para generar una vista previa de impresión para una hoja de cálculo específica. Para crear la vista previa de impresión de una hoja de cálculo, cree una instancia de la clase SheetPrintingPreview pasando objetos Worksheet y ImageOrPrintOptions al constructor. La clase SheetPrintingPreview también ofrece un método GetEvaluatedPageCount() que devuelve el número de páginas en la vista previa generada.

El siguiente fragmento de código demuestra el uso de las clases WorkbookPrintingPreview y SheetPrintingPreview utilizando el archivo de Excel de muestra.

Código de muestra

#include <iostream>
#include "Aspose.Cells.h"

using namespace Aspose::Cells;
using namespace std;

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

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Create workbook object
    Workbook workbook(srcDir + u"Book1.xlsx");

    // Create image or print options
    ImageOrPrintOptions imgOptions;

    // Create workbook printing preview
    WorkbookPrintingPreview preview(workbook, imgOptions);
    cout << "Workbook page count: " << preview.GetEvaluatedPageCount() << endl;

    // Create sheet printing preview
    SheetPrintingPreview preview2(workbook.GetWorksheets().Get(0), imgOptions);
    cout << "Worksheet page count: " << preview2.GetEvaluatedPageCount() << endl;

    Aspose::Cells::Cleanup();
    return 0;
}

A continuación se muestra la salida generada al ejecutar el código anterior.

Salida de la consola

Workbook page count: 1
Worksheet page count: 1

Temas avanzados