Suivi de la progression de la conversion d Excel en TIFF avec Node.js via C++
Scénarios d’utilisation possibles
Parfois, la conversion de grands fichiers Excel peut prendre du temps. Pendant ce temps, vous pouvez vouloir afficher la progression de la conversion du document au lieu d’une simple écran de chargement pour améliorer l’utilisabilité de votre application. Aspose.Cells for Node.js via C++ prend en charge le suivi du processus de conversion du document en fournissant l’interface IPageSavingCallback. L’interface IPageSavingCallback fournit les méthodes pageStartSaving(PageStartSavingArgs) et pageEndSaving(PageEndSavingArgs) que vous pouvez implémenter dans votre classe personnalisée. Vous pouvez également contrôler quelles pages sont rendues, comme démontré dans la classe personnalisée TestPageSavingCallback.
Suivre la progression de la conversion d’Excel en TIFF
Le code ci-dessous charge le fichier Excel source et affiche la progression de sa conversion dans la console en utilisant la classe personnalisée TestPageSavingCallback qui implémente l’interface IPageSavingCallback. Le fichier de sortie généré est joint pour votre référence.
Code d’exemple
const AsposeCells = require("aspose.cells.node");
const path = require("path");
// Source directory
const sourceDir = path.join(__dirname, "data");
// Output directory
const outputDir = path.join(__dirname, "output");
const filePath = path.join(sourceDir, "sampleUseWorkbookRenderForImageConversion.xlsx");
const workbook = new AsposeCells.Workbook(filePath);
const opts = new AsposeCells.ImageOrPrintOptions();
// Define TestTiffPageSavingCallback
class TestTiffPageSavingCallback {
// Implement required methods for the callback here
}
opts.setPageSavingCallback(new TestTiffPageSavingCallback());
opts.setImageType(AsposeCells.ImageType.Tiff);
const wr = new AsposeCells.WorkbookRender(workbook, opts);
wr.toImage(path.join(outputDir, "DocumentConversionProgressForTiff_out.tiff"));
Voici le code de la classe personnalisée TestTiffPageSavingCallback.
const AsposeCells = require("aspose.cells.node");
class TestTiffPageSavingCallback {
pageStartSaving(args) {
console.log(`Start saving page index ${args.pageIndex} of pages ${args.pageCount}`);
// Don't output pages before page index 2.
if (args.pageIndex < 2) {
args.setIsToOutput(false);
}
}
pageEndSaving(args) {
console.log(`End saving page index ${args.pageIndex} of pages ${args.pageCount}`);
// Don't output pages after page index 8.
if (args.pageIndex >= 8) {
args.setHasMorePages(false);
}
}
}
Sortie console
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</br>