Отслеживание процесса конвертации документа

Возможные сценарии использования

Иногда преобразование больших файлов Excel может занимать некоторое время. Во время этого, вы можете показать процесс преобразования документа вместо простого экрана загрузки для улучшения удобства использования вашего приложения. Aspose.Cells поддерживает отслеживание процесса преобразования документа, предоставляя интерфейс IPageSavingCallback. Интерфейс IPageSavingCallback предоставляет методы PageStartSaving и PageEndSaving, которые вы можете реализовать в своем собственном классе. Вы также можете контролировать, какие страницы рендерятся, как показано в пользовательском классе TestPageSavingCallback.

Отслеживание прогресса конвертации документов

В следующем образце кода загружается исходный файл Excel и выводится его процесс преобразования в консоли при использовании пользовательского класса TestPageSavingCallback, реализующего интерфейс 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 + "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