Настройка параметров печати с помощью C++
Установка параметров печати
Эти параметры печати позволяют пользователям:
- Выбрать конкретную область печати на рабочем листе.
- Напечатать заголовки.
- Напечатать сетку.
- Печать верхних заголовков строк / столбцов.
- Достичь чернового качества.
- Напечатать примечания.
- Напечатать ошибки ячеек.
- Определить порядок страниц.
Aspose.Cells поддерживает все параметры печати, предлагаемые Microsoft Excel, и разработчики могут легко настроить эти параметры для листов с помощью свойств класса PageSetup. Подробное описание использования этих свойств приведено ниже.
Установка области печати
По умолчанию область печати включает все области листа, содержащие данные. Разработчики могут установить конкретную область печати листа.
Чтобы выбрать конкретную область печати, используйте свойство GetPrintArea() класса PageSetup. Назначьте этому свойству диапазон ячеек, определяющий область печати.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create a new workbook
Workbook workbook;
// Get the first worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Get the PageSetup object of the worksheet
PageSetup pageSetup = worksheet.GetPageSetup();
// Set the print area to the range A1:T35
pageSetup.SetPrintArea(u"A1:T35");
// Save the workbook
workbook.Save(outDir + u"SetPrintArea_out.xls");
std::cout << "Print area set successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
Установка заголовков для печати
Aspose.Cells позволяет определить повторение заголовков строк и столбцов на всех страницах напечатанного листа. Для этого используйте свойства GetPrintTitleColumns() и GetPrintTitleRows() класса PageSetup.
Строки или столбцы, которые будут повторяться, определяются путем передачи их номеров строки или столбца. Например, строки определяются как $1:$2, а столбцы определяются как $A:$B.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of output excel file
U16String outputFilePath = outDir + u"SetPrintTitle_out.xls";
// Create a new workbook
Workbook workbook;
// Obtain the reference of the PageSetup of the first worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
PageSetup pageSetup = worksheet.GetPageSetup();
// Define column numbers A & B as title columns
pageSetup.SetPrintTitleColumns(u"$A:$B");
// Define row numbers 1 & 2 as title rows
pageSetup.SetPrintTitleRows(u"$1:$2");
// Save the workbook
workbook.Save(outputFilePath);
std::cout << "Print titles set successfully!" << std::endl;
Aspose::Cells::Cleanup();
return 0;
}
Настройка Других Опций Печати
Класс PageSetup также предоставляет несколько других свойств для установки общих параметров печати:
- GetPrintGridlines(): логическое свойство, определяющее, нужно ли печатать сетку.
- GetPrintHeadings(): булевое свойство, определяющее, печатать заголовки строк и столбцов или нет.
- GetBlackAndWhite(): булево свойство, определяющее, печатать лист в черно-белом режиме или нет.
- GetPrintComments(): определяет, отображать ли примечания к печати на листе или в конце листа.
- GetPrintDraft(): логическое свойство, определяющее, нужно ли печатать лист без графики.
- GetPrintErrors(): определяет, нужно ли печатать ошибки ячеек как отображается, пустыми, тире или N/A.
Для установки свойств GetPrintComments() и GetPrintErrors() Aspose.Cells также предоставляет две перечислительные структуры, PrintCommentsType и PrintErrorsType, содержащие предопределенные значения, которые присваиваются свойствам GetPrintComments() и GetPrintErrors() соответственно.
Заранее определенные значения в перечислении PrintCommentsType перечислены ниже вместе с их описаниями.
Типы Примечаний к Печати | Описание |
---|---|
PrintInPlace | Указывает на печать комментариев как отображаемых в таблице. |
PrintNoComments | Указывает, что комментарии не нужно печатать. |
PrintSheetEnd | Указывает на печать комментариев в конце таблицы. |
Заранее определенные значения перечисления PrintErrorsType перечислены ниже вместе с их описаниями.
Типы Ошибок Печати | Описание |
---|---|
PrintErrorsBlank | Указывает, что ошибки не нужно печатать. |
PrintErrorsDash | Указывает на печать ошибок как “–”. |
PrintErrorsDisplayed | Указывает на печать ошибок как отображаемых. |
PrintErrorsNA | Указывает на печать ошибок как “#N/A”. |
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create a new workbook
Workbook workbook;
// Get the first worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Get the PageSetup object of the worksheet
PageSetup pageSetup = worksheet.GetPageSetup();
// Set print options
pageSetup.SetPrintGridlines(true); // Allow printing gridlines
pageSetup.SetPrintHeadings(true); // Allow printing row/column headings
pageSetup.SetBlackAndWhite(true); // Allow printing in black & white mode
pageSetup.SetPrintComments(PrintCommentsType::PrintInPlace); // Print comments as displayed
pageSetup.SetPrintDraft(true); // Print with draft quality
pageSetup.SetPrintErrors(PrintErrorsType::PrintErrorsNA); // Print cell errors as N/A
// Save the workbook
U16String outputPath = outDir + u"OtherPrintOptions_out.xls";
workbook.Save(outputPath);
std::cout << "Workbook saved with print options successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
Установить порядок страниц
Класс PageSetup предоставляет свойство GetOrder(), которое используется для упорядочивания печати нескольких страниц вашей таблицы. Есть две возможности упорядочить страницы следующим образом:
- Сначала вниз, затем вправо: печатает все страницы вниз до печати любых страниц вправо.
- Сначала вправо, затем вниз: печатает страницы слева направо до печати страниц ниже.
Aspose.Cells предоставляет перечисление PrintOrderType, содержащее все заранее определенные типы порядка.
Заранее определенные значения перечисления PrintOrderType перечислены ниже.
Типы порядка печати | Описание |
---|---|
DownThenOver | Представляет порядок печати как сначала вниз, затем вправо. |
OverThenDown | Представляет порядок печати как сначала вправо, затем вниз. |
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create a new workbook
Workbook workbook;
// Obtain the reference of the PageSetup of the first worksheet
PageSetup pageSetup = workbook.GetWorksheets().Get(0).GetPageSetup();
// Set the printing order of the pages to over then down
pageSetup.SetOrder(PrintOrderType::OverThenDown);
// Save the workbook
workbook.Save(outDir + u"SetPageOrder_out.xls");
std::cout << "Page order set successfully!" << std::endl;
Aspose::Cells::Cleanup();
}