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 の保存を終了します