Impostare le opzioni di stampa con C++
Opzioni di stampa
Queste opzioni di stampa consentono agli utenti di:
- Selezionare un’area di stampa specifica su un foglio di lavoro.
- Stampare i titoli.
- Stampare le linee di griglia.
- Stampare gli intitoli di riga/colonna.
- Ottenere una qualità di bozza.
- Stampare commenti.
- Stampare errori di cella. Definire l’ordinamento delle pagine.
Aspose.Cells supporta tutte le opzioni di stampa offerte da Microsoft Excel, e gli sviluppatori possono facilmente configurare queste opzioni per i fogli di lavoro usando le proprietà offerte dalla classe PageSetup. Come vengono usate queste proprietà è discusso più dettagliatamente di seguito.
Impostare l’area di stampa
Per impostazione predefinita, l’area di stampa incorpora tutte le aree del foglio di lavoro che contengono dati. Gli sviluppatori possono stabilire un’area di stampa specifica del foglio di lavoro.
Per selezionare un’area di stampa specifica, utilizzare la proprietà GetPrintArea() della classe PageSetup. Assegnare un intervallo di celle che definisce l’area di stampa a questa proprietà.
#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();
}
Impostare i titoli di stampa
Aspose.Cells consente di designare intitoli di riga e colonna da ripetere su tutte le pagine di un foglio di lavoro stampato. Per farlo, utilizzare le proprietà GetPrintTitleColumns() e GetPrintTitleRows() della classe PageSetup.
Le righe o le colonne che verranno ripetute sono definite passando il loro numero di riga o colonna. Ad esempio, le righe sono definite come $1:$2 e le colonne sono definite come $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;
}
Impostare altre opzioni di stampa
La classe PageSetup fornisce anche diverse altre proprietà per impostare opzioni di stampa generali come segue:
- GetPrintGridlines(): proprietà Booleana che definisce se stampare le linee della griglia o meno.
- GetPrintHeadings(): una proprietà booleana che definisce se stampare o meno gli intitoli di riga e colonna.
- GetBlackAndWhite(): una proprietà booleana che definisce se stampare o meno il foglio di lavoro in modalità bianco e nero.
- GetPrintComments(): definisce se visualizzare i commenti di stampa sul foglio di lavoro o alla fine del foglio di lavoro.
- GetPrintDraft(): proprietà booleana che definisce se stampare il foglio senza grafici.
- GetPrintErrors(): definisce se stampare gli errori nelle celle come visualizzati, vuoti, trattino o N/A.
Per impostare le proprietà GetPrintComments() e GetPrintErrors(), Aspose.Cells fornisce anche due enumerazioni, PrintCommentsType e PrintErrorsType che contengono valori predefiniti da assegnare rispettivamente alle proprietà GetPrintComments() e GetPrintErrors().
I valori predefiniti nell’enumerazione PrintCommentsType sono elencati di seguito con le loro descrizioni.
Tipi di Commenti di Stampa | Descrizione |
---|---|
PrintInPlace | Specifica di stampare i commenti come visualizzati sul foglio di lavoro. |
PrintNoComments | Specifica di non stampare i commenti. |
PrintSheetEnd | Specifica di stampare i commenti alla fine del foglio di lavoro. |
I valori predefiniti dell’enumerazione PrintErrorsType sono elencati di seguito con le loro descrizioni.
Tipi di Errori di Stampa | Descrizione |
---|---|
PrintErrorsBlank | Specifica di non stampare gli errori. |
PrintErrorsDash | Specifica di stampare gli errori come “–”. |
PrintErrorsDisplayed | Specifica di stampare gli errori come visualizzato. |
PrintErrorsNA | Specifica di stampare gli errori come “#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();
}
Imposta l’Ordine delle Pagine
La classe PageSetup fornisce la proprietà GetOrder() che viene utilizzata per ordinare la stampa di più pagine del foglio di lavoro. Ci sono due possibilità per ordinare le pagine come segue.
- In basso poi a destra: stampa tutte le pagine in basso prima di stampare eventuali pagine a destra.
- A destra poi in basso: stampa le pagine da sinistra a destra prima di stampare le pagine sottostanti.
Aspose.Cells fornisce un’enumerazione, PrintOrderType, che contiene tutti i tipi di ordinamento predefiniti.
I valori predefiniti dell’enumerazione PrintOrderType sono elencati di seguito.
Tipi di Ordine di Stampa | Descrizione |
---|---|
DownThenOver | Rappresenta l’ordine di stampa come in basso e poi sopra. |
OverThenDown | Rappresenta l’ordine di stampa come sopra e poi in basso. |
#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();
}