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

可能な使用シナリオ

大きなExcelファイルを変換するときは時間がかかることがあります。この間、アプリケーションの使いやすさを向上させるために、単なるローディング画面ではなく文書変換の進行状況を表示したいと思うかもしれません。Aspose.Cellsは、IPageSavingCallback インターフェースを提供することで文書変換の進行状況を追跡できます。IPageSavingCallback インターフェースは、カスタムクラスで実装することができる PageStartSavingPageEndSaving のメソッドを提供します。また、TestPageSavingCallback カスタムクラスで示されているように、どのページをレンダリングするかを制御することもできます。

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

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

サンプルコード

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the source directory.
String sourceDir = Utils.Get_SourceDirectory();
// The path to the output directory.
String outputDir = Utils.Get_OutputDirectory();
Workbook wb = new Workbook(sourceDir + "PagesBook1.xlsx");
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
pdfSaveOptions.setPageSavingCallback(new TestPageSavingCallback());
wb.save(outputDir + "DocumentConversionProgress.pdf", pdfSaveOptions);

TestPageSavingCallbackカスタムクラスのコードは次のとおりです。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
class TestPageSavingCallback implements IPageSavingCallback {
public void pageStartSaving(PageStartSavingArgs args)
{
System.out.println("Start saving page index " + args.getPageIndex() + " of pages " + args.getPageCount());
//don't output pages before page index 2.
if (args.getPageIndex() < 2)
{
args.setToOutput(false);
}
}
public void pageEndSaving(PageEndSavingArgs args)
{
System.out.println("End saving page index " + args.getPageIndex() + " of pages " + args.getPageCount());
//don't output pages after page index 8.
if (args.getPageIndex() >= 8)
{
args.setHasMorePages(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