Отслеживание процесса преобразования Excel в TIFF
Возможные сценарии использования
Иногда преобразование больших файлов Excel может занять некоторое время. В это время вы можете захотеть показать ход преобразования документа, а не просто экран загрузки, чтобы повысить удобство использования вашего приложения. Aspose.Cells поддерживает процесс преобразования документа отслеживания, предоставляя**IPageSavingCallback**интерфейс.**IPageSavingCallback**интерфейс обеспечивает**PageStartSaving**и**PageEndSaving** методы, которые вы можете реализовать в своем пользовательском классе. Вы также можете управлять отображением страниц, как показано в*TestTiffPageSavingCallback*пользовательский класс.
Отслеживание процесса преобразования Excel в TIFF
Следующий пример кода загружаетисходный файл excel и выводит ход преобразования в консоли с помощью команды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); | |
} | |
} | |
} |
Консольный вывод
Начать сохранение индекса страницы 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 из страниц 10