Seguimiento del progreso de la conversión de documentos
Posibles escenarios de uso
A veces, la conversión de archivos de Excel de gran tamaño puede llevar algún tiempo. Durante este tiempo, es posible que desee mostrar el progreso de la conversión del documento en lugar de solo una pantalla de carga para mejorar la usabilidad de su aplicación. Aspose.Cells admite el proceso de conversión de documentos de seguimiento al proporcionar el**IPageSavingCallback** interfaz. Él**IPageSavingCallback**interfaz proporciona**PageStartSaving**y**[Guardar fin de página] (https://reference.aspose.com/cells/net/aspose.cells.rendering/ipagesavingcallback/methods/pageendsaving)**métodos que puede implementar en su clase personalizada. También puede controlar qué páginas se procesan como se muestra en la T*estPageSavingCallback*clase personalizada.
Seguimiento del progreso de la conversión de documentos
El siguiente ejemplo de código carga elarchivo fuente excel e imprime su progreso de conversión en la consola usando elTestPageSavingCallback clase personalizada que implementa el**IPageSavingCallback**interfaz.
Código de muestra
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//Source directory | |
string sourceDir = RunExamples.Get_SourceDirectory(); | |
//Output directory | |
string outputDir = RunExamples.Get_OutputDirectory(); | |
Workbook workbook = new Workbook(sourceDir + "PagesBook1.xlsx"); | |
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions(); | |
pdfSaveOptions.PageSavingCallback = new TestPageSavingCallback(); | |
workbook.Save(outputDir + "DocumentConversionProgress.pdf", pdfSaveOptions); |
El siguiente es el código para elTestPageSavingCallbackclase personalizada.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
public class TestPageSavingCallback : IPageSavingCallback | |
{ | |
public void PageStartSaving(PageStartSavingArgs args) | |
{ | |
Console.WriteLine("Start saving page index {0} of pages {1}", args.PageIndex, args.PageCount); | |
//don't output pages before page index 2. | |
if (args.PageIndex < 2) | |
{ | |
args.IsToOutput = false; | |
} | |
} | |
public void PageEndSaving(PageEndSavingArgs args) | |
{ | |
Console.WriteLine("End saving page index {0} of pages {1}", args.PageIndex, args.PageCount); | |
//don't output pages after page index 8. | |
if (args.PageIndex >= 8) | |
{ | |
args.HasMorePages = false; | |
} | |
} | |
} |
Salida de consola
Empezar a guardar el índice de la página 0 de las páginas 11
Terminar de guardar el índice de página 0 de las páginas 11
Empezar a guardar el índice de la página 1 de las páginas 11
Terminar de guardar el índice de página 1 de las páginas 11
Empezar a guardar el índice de la página 2 de las páginas 11
Terminar de guardar el índice de la página 2 de las páginas 11
Empezar a guardar el índice de la página 3 de las páginas 11
Terminar de guardar el índice de la página 3 de las páginas 11
Comience a guardar el índice de la página 4 de las páginas 11
Terminar de guardar el índice de página 4 de las páginas 11
Empezar a guardar el índice de la página 5 de las páginas 11
Terminar de guardar el índice de la página 5 de las páginas 11
Comience a guardar el índice de la página 6 de las páginas 11
Terminar de guardar el índice de página 6 de las páginas 11
Empezar a guardar el índice de la página 7 de las páginas 11
Terminar de guardar el índice de página 7 de las páginas 11
Empezar a guardar el índice de la página 8 de las páginas 11
Terminar de guardar el índice de la página 8 de las páginas 11