Excel の変換の進行状況を TIFF に追跡する

考えられる使用シナリオ

大きな Excel ファイルの変換には時間がかかる場合があります。この間、ロード画面だけでなく、ドキュメント変換の進行状況を表示して、アプリケーションの使いやすさを向上させたい場合があります。 Aspose.Cells は、ドキュメント変換プロセスの追跡をサポートします。**IPageSavingCallbackインターフェース。のIPageSavingCallbackインターフェイスが提供する[PageStartSaving](https://reference.aspose.com/cells/java/com.aspose.cells/ipage Savingcallback#pageStartSaving(com.aspose.cells.PageStartSavingArgs))[PageEndSaving](https://reference.aspose.com/cells/java/com.aspose.cells/ipage Savingcallback#pageEndSaving(com.aspose.cells.PageEndSavingArgs))**カスタム クラスに実装できるメソッド。で示されているように、どのページをレンダリングするかを制御することもできます。TestTiffPageSavingCallbackカスタムクラス。

Excel の変換の進行状況を TIFF に追跡する

次のコード サンプルは、ソースエクセルファイルを使用して、変換の進行状況をコンソールに出力します。TestTiffPageSavingCallbackを実装するカスタムクラス**IPageSavingCallback**インターフェース。参照用に、生成された出力ファイルを添付します。

出力ファイル

サンプルコード

// 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 + "sampleUseWorkbookRenderForImageConversion.xlsx");
ImageOrPrintOptions opts = new ImageOrPrintOptions();
opts.setPageSavingCallback(new TestTiffPageSavingCallback());
opts.setImageType(ImageType.TIFF);
WorkbookRender wr = new WorkbookRender(wb, opts);
wr.toImage(outputDir + "DocumentConversionProgressForTiff_out.tiff");

以下は、TestTiffPageSavingCallbackカスタムクラス。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
class TestTiffPageSavingCallback 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);
}
}
}

コンソール出力

ページ 10 のページ インデックス 0 の保存を開始します
ページ 10 のページ インデックス 0 の保存を終了します
ページ 10 のページ インデックス 1 の保存を開始します
10 ページ中のページ インデックス 1 の保存を終了
ページ 10 のページ インデックス 2 の保存を開始します
ページ 10 のページ インデックス 2 の保存を終了します
10 ページのページ インデックス 3 の保存を開始します
ページ 10 のページ インデックス 3 の保存を終了します
ページ 10 のページ インデックス 4 の保存を開始します
ページ 10 のページ インデックス 4 の保存を終了します
ページ 10 のページ インデックス 5 の保存を開始します
ページ 10 のページ インデックス 5 の保存を終了します
ページ 10 のページ インデックス 6 の保存を開始します
ページ 10 のページ インデックス 6 の保存を終了します
ページ 10 のページ インデックス 7 の保存を開始します
ページ 10 のページ インデックス 7 の保存を終了します
ページ 10 のページ インデックス 8 の保存を開始します
ページ 10 のページ インデックス 8 の保存を終了します