إعداد خيارات الطباعة باستخدام 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(): خاصية من نوع Boolean تحدد ما إذا كان سيتم طباعة الشبكة أم لا.
- GetPrintHeadings(): خاصية بوليانية تعرف ما إذا كان سيتم طباعة عناوين الصف والعمود أم لا.
- GetBlackAndWhite(): خاصية بوليانية تعرف ما إذا كان سيتم طباعة ورقة العمل في وضع أسود وأبيض أم لا.
- GetPrintComments(): يحدد ما إذا كان سيتم عرض التعليقات المطبوعة على ورقة العمل أم في نهايتها.
- GetPrintDraft(): خاصية من نوع Boolean تحدد ما إذا كان سيتم طباعة الورقة بدون رسومات.
- 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();
}