طباعة ومعاينة دفتر العمل باستخدام C++

مقدمة طباعة

يفترض Microsoft Excel أنك تريد طباعة منطقة الورقة بأكملها ما لم تحدد تحديدًا. لطباعة باستخدام Aspose.Cells، قم بأولاً باستيراد مساحة الاسم Aspose.Cells.Rendering إلى البرنامج. لديها عدة فئات مفيدة، على سبيل المثال، SheetRender وWorkbookRender.

معاينة الطباعة

قد تحدث حالات تحتاج فيها ملفات Excel بملايين الصفحات إلى التحويل إلى ملفات PDF أو صور. سيستهلك معالجة هذه الملفات الكثير من الوقت والموارد. في مثل هذه الحالات، قد يكون من المفيد استخدام ميزة معاينة الطباعة لدفتر العمل وورقة العمل. قبل تحويل مثل هذه الملفات، يمكن للمستخدم التحقق من إجمالي عدد الصفحات ثم قرار ما إذا كان سيتم تحويل الملف أم لا. يركز هذا المقال على استخدام فئات WorkbookPrintingPreview و SheetPrintingPreview لمعرفة الإجمالي عدد الصفحات.

توفر Aspose.Cells ميزة معاينة الطباعة. لهذا، يوفر الواجهة البرمجية WorkbookPrintingPreview و SheetPrintingPreview فئات. لإنشاء معاينة الطباعة لدفتر العمل بأكمله، قم بإنشاء مثال من فئة WorkbookPrintingPreview عن طريق تمرير الكائنات Workbook و ImageOrPrintOptions إلى البناء الفارغ. تقدم فئة WorkbookPrintingPreview طريقة GetEvaluatedPageCount() التي تعيد عدد الصفحات في المعاينة المولدة. بالمثل لفئة WorkbookPrintingPreview، تستخدم فئة SheetPrintingPreview لإنشاء معاينة الطباعة لورقة العمل محددة. لإنشاء معاينة الطباعة لورقة العمل، قم بإنشاء مثال من فئة SheetPrintingPreview عن طريق تمرير Worksheet و ImageOrPrintOptions إلى البناء الفارغ. توفر الفئة SheetPrintingPreview أيضًا طريقة GetEvaluatedPageCount() التي تعيد عدد الصفحات في المعاينة المولدة.

توضح المقطع البرمجي التالي استخدام كل من فئات WorkbookPrintingPreview و SheetPrintingPreview باستخدام ملف الإكسل العيني.

الكود المثالي

#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

مواضيع متقدمة