Imprimer et prévisualiser le classeur avec C++

Introduction à l’impression

Microsoft Excel suppose que vous voulez imprimer l’ensemble de la zone de la feuille de calcul à moins que vous ne spécifiiez une sélection. Pour imprimer avec Aspose.Cells, importez d’abord l’espace de noms Aspose.Cells.Rendering dans le programme. Il possède plusieurs classes utiles, par exemple, SheetRender et WorkbookRender.

Aperçu avant impression

Il peut arriver que des fichiers Excel comportant des millions de pages doivent être convertis en PDF ou en images. Le traitement de tels fichiers consommera beaucoup de temps et de ressources. Dans de tels cas, la fonction Aperçu avant impression du classeur et de la feuille de calcul pourrait s’avérer utile. Avant de convertir de tels fichiers, l’utilisateur peut vérifier le nombre total de pages et décider ensuite de les convertir ou non. Cet article met l’accent sur l’utilisation des classes WorkbookPrintingPreview et SheetPrintingPreview pour déterminer le nombre total de pages.

Aspose.Cells fournit la fonction d’aperçu avant impression. Pour cela, l’API fournit les classes WorkbookPrintingPreview et SheetPrintingPreview. Pour créer l’aperçu avant impression du classeur entier, créez une instance de la classe WorkbookPrintingPreview en transmettant les objets Workbook et ImageOrPrintOptions au constructeur. La classe WorkbookPrintingPreview fournit une méthode GetEvaluatedPageCount() qui retourne le nombre de pages dans l’aperçu généré. De manière similaire à la classe WorkbookPrintingPreview, la classe SheetPrintingPreview est utilisée pour générer un aperçu avant impression pour une feuille de calcul spécifique. Pour créer l’aperçu avant impression d’une feuille de calcul, créez une instance de la classe SheetPrintingPreview en transmettant les objets Worksheet et ImageOrPrintOptions au constructeur. La classe SheetPrintingPreview fournit également une méthode GetEvaluatedPageCount() qui retourne le nombre de pages dans l’aperçu généré.

Le code suivant montre l’utilisation à la fois des classes WorkbookPrintingPreview et SheetPrintingPreview en utilisant le fichier Excel d’exemple.

Code d’exemple

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

Voici la sortie générée en exécutant le code ci-dessus.

Sortie console

Workbook page count: 1
Worksheet page count: 1

Sujets avancés