Spåra dokumentkonverteringsframsteg
Möjliga användningsscenario
Ibland kan det ta tid att konvertera stora Excel-filer. Under den tiden kan du vilja visa dokumentkonverteringsframsteg istället för bara en laddningsskärm för att förbättra användbarheten i din applikation. Aspose.Cells stöder att spåra dokumentkonverteringsprocessen genom att tillhandahålla IPageSavingCallback-gränssnittet. IPageSavingCallback-gränssnittet tillhandahåller PageStartSaving- och PageEndSaving-metoder som du kan implementera i din egen klass. Du kan också styra vilka sidor som ska renderas som visas i den egna klassen TestPageSavingCallback.
Spåra Dokumentkonverteringsframsteg
Följande kodexempel läser in den källa excel-filen och skriver ut dess konverteringsframsteg i konsolen genom att använda den egna klassen TestPageSavingCallback som implementerar IPageSavingCallback-gränssnittet.
Exempelkod
// 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); |
Följande är koden för den egna klassen TestPageSavingCallback.
// 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; | |
} | |
} | |
} |
Konsoloutput
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