Verfolgen Sie den Fortschritt der Dokumentenkonvertierung
Mögliche Nutzungsszenarien
Manchmal kann das Konvertieren großer Excel-Dateien einige Zeit dauern. Während dieser Zeit möchten Sie möglicherweise den Fortschritt der Dokumentkonvertierung statt nur eines Ladebildschirms anzeigen, um die Benutzerfreundlichkeit Ihrer Anwendung zu verbessern. Aspose.Cells unterstützt die Verfolgung des Dokumentenkonvertierungsprozesses durch Bereitstellung der**IPageSavingCallback** Schnittstelle. Das**IPageSavingCallback**Schnittstelle bietet**PageStartSaving**und**PageEndSaving**Methoden, die Sie in Ihrer benutzerdefinierten Klasse implementieren können. Sie können auch steuern, welche Seiten gerendert werden, wie im T*estPageSavingCallback*benutzerdefinierte Klasse.
Verfolgen Sie den Fortschritt der Dokumentenkonvertierung
Das folgende Codebeispiel lädt dieExcel-Quelldatei und druckt seinen Konvertierungsfortschritt in der Konsole mithilfe vonTestPageSavingCallback benutzerdefinierte Klasse, die die implementiert**IPageSavingCallback**Schnittstelle.
Beispielcode
// 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); |
Das Folgende ist der Code für dieTestPageSavingCallbackbenutzerdefinierte Klasse.
// 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; | |
} | |
} | |
} |
Konsolenausgabe
Beginnen Sie mit dem Speichern des Seitenindex 0 der Seiten 11
Beenden Sie das Speichern des Seitenindex 0 der Seiten 11
Beginnen Sie mit dem Speichern von Seitenindex 1 von Seite 11
Beenden Sie das Speichern des Seitenindex 1 der Seite 11
Beginnen Sie mit dem Speichern von Seitenindex 2 von Seite 11
Beenden Sie das Speichern des Seitenindex 2 der Seite 11
Beginnen Sie mit dem Speichern von Seitenindex 3 von Seite 11
Beenden Sie das Speichern des Seitenindex 3 der Seite 11
Beginnen Sie mit dem Speichern von Seitenindex 4 von Seite 11
Beenden Sie das Speichern von Seitenindex 4 von Seite 11
Beginnen Sie mit dem Speichern von Seitenindex 5 von Seite 11
Beenden Sie das Speichern des Seitenindex 5 der Seite 11
Beginnen Sie mit dem Speichern von Seitenindex 6 von Seite 11
Beenden Sie das Speichern des Seitenindex 6 der Seite 11
Beginnen Sie mit dem Speichern von Seitenindex 7 von Seite 11
Beenden Sie das Speichern des Seitenindex 7 von Seite 11
Beginnen Sie mit dem Speichern von Seitenindex 8 der Seiten 11
Beenden Sie das Speichern des Seitenindex 8 der Seite 11