ドキュメント変換の進行状況を追跡

可能な使用シナリオ

大きなExcelファイルを変換する際、時間がかかることがあります。この時間に、単なる読み込み画面ではなくドキュメント変換の進行状況を表示したい場合があります。Aspose.Cellsでは、IPageSavingCallbackインタフェースを提供することで、カスタムクラスで実装できるIPageSavingCallbackインタフェースが提供されます。TestPageSavingCallbackカスタムクラスで示されているように、レンダリングされるページを制御することもできます。

文書変換の進行状況を追跡する

次のコードサンプルは、ソースExcelファイルをロードし、TestPageSavingCallbackカスタムクラスを使用してコンソールに変換進行状況を表示します。

サンプルコード

// 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