Suivre la progression de la conversion des documents

Scénarios d’utilisation possibles

Parfois, la conversion de gros fichiers Excel peut prendre un certain temps. Pendant ce temps, vous souhaiterez peut-être afficher la progression de la conversion du document au lieu d’un simple écran de chargement pour améliorer la convivialité de votre application. Aspose.Cells prend en charge le processus de conversion de documents de suivi en fournissant le**IPageSavingCallback**interface. Le**IPageSavingCallback**l’interface fournit**PageStartSaving**et**PageEndSaving** méthodes que vous pouvez implémenter dans votre classe personnalisée. Vous pouvez également contrôler quelles pages sont rendues comme indiqué dans le*TestPageSavingCallback*classe personnalisée.

Suivre la progression de la conversion des documents

L’exemple de code suivant charge lefichier excel sourceet imprime sa progression de conversion dans la console en utilisant leTestPageSavingCallbackclasse personnalisée qui implémente**IPageSavingCallback**interface.

Exemple de code

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

Voici le code pour leTestPageSavingCallbackclasse personnalisée.

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

Sortie console

Commencer à enregistrer l’index de page 0 des pages 11
Fin de l’enregistrement de l’index de page 0 des pages 11
Commencer à enregistrer l’index de la page 1 des pages 11
Fin de l’enregistrement page index 1 des pages 11
Commencer à enregistrer l’index de la page 2 des pages 11
Fin de l’enregistrement page index 2 des pages 11
Commencer à enregistrer l’index de la page 3 des pages 11
Fin de l’enregistrement page index 3 des pages 11
Commencer à enregistrer l’index de la page 4 des pages 11
Fin de l’enregistrement page index 4 des pages 11
Commencer à enregistrer l’index de la page 5 des pages 11
Fin de l’enregistrement page index 5 des pages 11
Commencer à enregistrer l’index de la page 6 des pages 11
Fin de l’enregistrement page index 6 des pages 11
Commencer à enregistrer l’index de la page 7 des pages 11
Fin de l’enregistrement page index 7 des pages 11
Commencer à enregistrer l’index de la page 8 des pages 11
Fin de l’enregistrement page index 8 des pages 11