Belge Dönüştürme İlerlemesini İzleme

Olası Kullanım Senaryoları

Bazen büyük visio dosyalarının dönüştürülmesi biraz zaman alabilir. Bu süre zarfında, uygulamanızın kullanılabilirliğini artırmak için yalnızca bir yükleme ekranı yerine belge dönüştürme ilerlemesini göstermek isteyebilirsiniz. Aspose.Diagram, aşağıdakileri sağlayarak izleme belgesi dönüştürme sürecini destekler:IPageSavingCallback arayüz. bu**IPageSavingCallback**arayüz sağlar**PageStartSaving**ve**PageEndSaving**özel sınıfınızda uygulayabileceğiniz yöntemler. T’de gösterildiği gibi hangi sayfaların oluşturulacağını da kontrol edebilirsiniz.*estDiagramPageSavingCallback*özel sınıf

Belge Dönüştürme İlerlemesini İzleme

Aşağıdaki kod örneği,kaynak visio dosyası kullanarak dönüştürme ilerlemesini konsolda yazdırır.TestPageSavingCallback uygulayan özel sınıf**IPageSavingCallback**arayüz.

Basit kod

// 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);

için kod aşağıdadırTestDiagramPageSavingCallbacközel sınıf

// 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;
}
}
}

Konsol Çıkışı

  1. sayfaların 0. sayfa dizinini kaydetmeye başlayın
  2. sayfaların sayfa dizini 0’ı kaydetmeyi sonlandır
  3. sayfanın 1. sayfasını kaydetmeye başla
  4. sayfaların 1. sayfa indeksini kaydetmeyi sonlandır
  5. sayfanın 2. sayfasını kaydetmeye başla
    Kaydetmeyi sonlandır sayfa indeksi 2 sayfa 11
    Sayfa 11’in sayfa dizini 3’ü kaydetmeye başla
    Kaydetmeyi sonlandır sayfa indeksi 3 sayfa 11
  6. sayfanın 4. sayfasını kaydetmeye başla
    Kaydetmeyi sonlandır sayfa dizini 4 sayfa 11
  7. sayfanın 5. sayfasını kaydetmeye başla
    Kaydetmeyi sonlandır sayfa dizini 5 sayfa 11
  8. sayfanın 6. sayfasını kaydetmeye başla
    Kaydetmeyi sonlandır sayfa dizini 6 sayfa 11
  9. sayfanın 7. sayfasını kaydetmeye başla
    Kaydetmeyi sonlandır sayfa dizini 7 / sayfalar 11
  10. sayfanın 8. sayfasını kaydetmeye başla
    Kaydetmeyi sonlandır sayfa dizini 8 sayfa 11