Печать и предварительный просмотр рабочей книги с помощью C++

Введение в печать

Microsoft Excel предполагает, что вы хотите напечатать всю область рабочего листа, если не указано иное. Для печати с помощью Aspose.Cells сначала импортируйте пространство имен Aspose.Cells.Rendering в программу. В нем есть несколько полезных классов, например, SheetRender и WorkbookRender.

Предварительный просмотр печати

Могут возникнуть случаи, когда файлы Excel с миллионами страниц нужно преобразовать в PDF или изображения. Обработка таких файлов потребует много времени и ресурсов. В таких случаях функция предварительного просмотра печати рабочей книги и рабочего листа может оказаться полезной. Перед преобразованием таких файлов пользователь может проверить общее количество страниц и затем решить, нужно ли преобразовать файл или нет. Эта статья фокусируется на использовании классов WorkbookPrintingPreview и SheetPrintingPreview для определения общего числа страниц.

Aspose.Cells предоставляет функцию предварительного просмотра печати. Для этого API предоставляет классы WorkbookPrintingPreview и SheetPrintingPreview. Чтобы создать предварительный просмотр печати всей рабочей книги, создайте экземпляр класса WorkbookPrintingPreview, передавая объекты Workbook и ImageOrPrintOptions конструктору. Класс WorkbookPrintingPreview предоставляет метод GetEvaluatedPageCount(), который возвращает количество страниц в сгенерированном предварительном просмотре. Аналогично классу WorkbookPrintingPreview, класс SheetPrintingPreview используется для создания предварительного просмотра печати для конкретного рабочего листа. Чтобы создать предварительный просмотр печати рабочего листа, создайте экземпляр класса SheetPrintingPreview, передавая объекты Worksheet и ImageOrPrintOptions конструктору. Класс SheetPrintingPreview также предоставляет метод GetEvaluatedPageCount(), возвращающий количество страниц в сгенерированном предварительном просмотре.

Следующий фрагмент кода демонстрирует использование обоих классов WorkbookPrintingPreview и SheetPrintingPreview с использованием образцового файла Excel.

Образец кода

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

Следующим выводом является результат выполнения вышеприведенного кода.

Вывод в консоль

Workbook page count: 1
Worksheet page count: 1

Продвинутые темы