Seguir el progreso de conversión de Excel a TIFF

Escenarios de uso posibles

A veces, la conversión de archivos grandes de Excel puede llevar algo de tiempo. Durante este tiempo, es posible que desees mostrar el progreso de conversión del documento en lugar de solo una pantalla de carga para mejorar la usabilidad de tu aplicación. Aspose.Cells admite el seguimiento del proceso de conversión del documento proporcionando la interfaz IPageSavingCallback. La interfaz IPageSavingCallback proporciona los métodos PageStartSaving y PageEndSaving que puedes implementar en tu clase personalizada. También puedes controlar qué páginas se renderizan como se demuestra en la clase personalizada TestTiffPageSavingCallback.

Seguir el progreso de conversión de Excel a TIFF

El siguiente ejemplo de código carga el archivo de Excel fuente e imprime su progreso de conversión en la consola, utilizando la clase personalizada TestTiffPageSavingCallback que implementa la interfaz IPageSavingCallback. El archivo de salida generado está adjunto para tu referencia.

Archivo de salida

Código de muestra

// 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");

El siguiente es el código para la clase personalizada 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);
}
}
}

Salida de la consola

Start saving page index 0 of pages 10</br>
End saving page index 0 of pages 10</br>
Start saving page index 1 of pages 10</br>
End saving page index 1 of pages 10</br>
Start saving page index 2 of pages 10</br>
End saving page index 2 of pages 10</br>
Start saving page index 3 of pages 10</br>
End saving page index 3 of pages 10</br>
Start saving page index 4 of pages 10</br>
End saving page index 4 of pages 10</br>
Start saving page index 5 of pages 10</br>
End saving page index 5 of pages 10</br>
Start saving page index 6 of pages 10</br>
End saving page index 6 of pages 10</br>
Start saving page index 7 of pages 10</br>
End saving page index 7 of pages 10</br>
Start saving page index 8 of pages 10</br>
End saving page index 8 of pages 10