Spåra dokumentkonverteringsförlopp
Möjliga användningsscenarier
Ibland kan det ta lite tid att konvertera stora Excel-filer. Under denna tid kanske du vill visa dokumentkonverteringsförloppet istället för bara en laddningsskärm för att förbättra användbarheten av din applikation. Aspose.Cells stöder konverteringsprocess för spårning av dokument genom att tillhandahålla**IPageSavingCallback** gränssnitt. De**IPageSavingCallback**gränssnitt ger**PageStartSaving**och**PageEndSaving**metoder som du kan implementera i din anpassade klass. Du kan också styra vilka sidor som renderas som visas i T*estPageSavingCallback*anpassad klass.
Spåra dokumentkonverteringsförlopp
Följande kodexempel laddarsource excel-fil och skriver ut dess konverteringsförlopp i konsolen med hjälp avTestPageSavingCallback anpassad klass som implementerar**IPageSavingCallback**gränssnitt.
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örTestPageSavingCallbackanpassad klass.
// 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; | |
} | |
} | |
} |
Konsolutgång
Börja spara sidindex 0 av sidorna 11
Sluta spara sidindex 0 av sidorna 11
Börja spara sidindex 1 av sidorna 11
Avsluta att spara sidindex 1 av sidorna 11
Börja spara sidindex 2 av sidorna 11
Avsluta att spara sidindex 2 av sidorna 11
Börja spara sidindex 3 av sidorna 11
Avsluta att spara sidindex 3 av sidorna 11
Börja spara sidindex 4 av sidorna 11
Avsluta att spara sidindex 4 av sidorna 11
Börja spara sidindex 5 av sidorna 11
Avsluta att spara sidindex 5 av sidorna 11
Börja spara sidindex 6 av sidorna 11
Avsluta att spara sidindex 6 av sidorna 11
Börja spara sidindex 7 av sidorna 11
Avsluta att spara sidindex 7 av sidorna 11
Börja spara sidindex 8 av sidorna 11
Avsluta att spara sidindex 8 av sidorna 11