إعداد خيارات الطباعة باستخدام 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();
}