Verfolgen Sie den Fortschritt der Dokumentenkonvertierung

Mögliche Nutzungsszenarien

Manchmal kann das Konvertieren großer visio-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.Diagram 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*estDiagramPageSavingCallback*benutzerdefinierte Klasse.

Verfolgen Sie den Fortschritt der Dokumentenkonvertierung

Das folgende Codebeispiel lädt dieQuelldatei visio 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-diagram/Aspose.Diagram-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_Intro();
// call the diagram constructor to load diagram from a VSD file
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// create an instance PDF save options class
Aspose.Diagram.Saving.PdfSaveOptions options = new Aspose.Diagram.Saving.PdfSaveOptions();
//set page saving call back
options.PageSavingCallback = new TestDiagramPageSavingCallback();
// save Visio drawing
diagram.Save(dataDir + "Callback_out.pdf", options);

Das Folgende ist der Code für dieTestDiagramPageSavingCallbackbenutzerdefinierte Klasse.

// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
public class TestDiagramPageSavingCallback : Aspose.Diagram.Saving.IPageSavingCallback
{
public void PageStartSaving(Aspose.Diagram.Saving.PageStartSavingArgs args)
{
Console.WriteLine("Start saving diagram page index {0} of pages {1}", args.PageIndex, args.PageCount);
}
public void PageEndSaving(Aspose.Diagram.Saving.PageEndSavingArgs args)
{
Console.WriteLine("End saving diagram 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