تتبع تقدم تحويل الوثائق

سيناريوهات الاستخدام المحتملة

في بعض الأحيان، قد يستغرق تحويل ملفات الإكسيل الكبيرة بعض الوقت. خلال هذا الوقت، قد ترغب في عرض تقدم تحويل المستند بدلاً من شاشة التحميل فقط لتعزيز قابلية استخدام تطبيقك. تدعم Aspose.Cells تتبع عملية تحويل المستند من خلال توفير واجهة البرمجة IPageSavingCallback. تقدم واجهة البرمجة IPageSavingCallback الواجهة PageStartSaving والواجهة PageEndSaving التي يمكنك تنفيذها في فئتك المخصصة. كما يمكنك أيضًا التحكم في الصفحات التي تم تقديمها كما هو موضح في فئة الاختبار TestPageSavingCallback.

تتبع تقدم تحويل الوثائق

يقوم الرمز العيني الذي يلي بتحميل ملف الإكسل المصدر ويطبع تقدم التحويل في وحدة التحكم باستخدام الفئة المخصصة TestPageSavingCallback التي تنفذ واجهة IPageSavingCallback.

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

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Source directory
string sourceDir = RunExamples.Get_SourceDirectory();
//Output directory
string outputDir = RunExamples.Get_OutputDirectory();
Workbook workbook = new Workbook(sourceDir + "PagesBook1.xlsx");
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
pdfSaveOptions.PageSavingCallback = new TestPageSavingCallback();
workbook.Save(outputDir + "DocumentConversionProgress.pdf", pdfSaveOptions);

فيما يلي الشيفرة لفئة الاختبار TestPageSavingCallback المخصصة.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
public class TestPageSavingCallback : IPageSavingCallback
{
public void PageStartSaving(PageStartSavingArgs args)
{
Console.WriteLine("Start saving page index {0} of pages {1}", args.PageIndex, args.PageCount);
//don't output pages before page index 2.
if (args.PageIndex < 2)
{
args.IsToOutput = false;
}
}
public void PageEndSaving(PageEndSavingArgs args)
{
Console.WriteLine("End saving page index {0} of pages {1}", args.PageIndex, args.PageCount);
//don't output pages after page index 8.
if (args.PageIndex >= 8)
{
args.HasMorePages = false;
}
}
}

مخرجات الوحدة

Start saving page index 0 of pages 11</br>
End saving page index 0 of pages 11</br>
Start saving page index 1 of pages 11</br>
End saving page index 1 of pages 11</br>
Start saving page index 2 of pages 11</br>
End saving page index 2 of pages 11</br>
Start saving page index 3 of pages 11</br>
End saving page index 3 of pages 11</br>
Start saving page index 4 of pages 11</br>
End saving page index 4 of pages 11</br>
Start saving page index 5 of pages 11</br>
End saving page index 5 of pages 11</br>
Start saving page index 6 of pages 11</br>
End saving page index 6 of pages 11</br>
Start saving page index 7 of pages 11</br>
End saving page index 7 of pages 11</br>
Start saving page index 8 of pages 11</br>
End saving page index 8 of pages 11