Viscomsoft UWP PDF Viewer SDK

IPage.SaveAsync Method

 

Save the text for non-blocking calls.
 
 C#

public Task SaveAsync(StorageFile file)

 


Parameter
file - the StorageFile object.

Namespace: Viscomsoft.UWP.PDFViewerSDK;

No Return Value


Example

   

[C# Syntax] 
using Viscomsoft.UWP.PDFViewerSDK;

public sealed partial class MainPage : Page
{

  private PDFDisplayManager _pdfDisplayManager = null;


  private async void open(StorageFile file)
  {

    DocumentFactory factory = new DocumentFactory();

    IDocument doc = factory.CreateDocument(file.Name);

    bool opened = await doc.OpenAsync(file);

    _pdfDisplayManager = new PDFDisplayManager();

    _pdfDisplayManager.Width = (int)Window.Current.Bounds.Width;

    _pdfDisplayManager.Height = (int)Window.Current.Bounds.Height;

    _pdfDisplayManager.Document = doc;

    _pdfDisplayManager.GotoPage(1);

    uiViewPanel.Child = createScrollViewControl();
 
    FileSavePicker savePicker = new FileSavePicker();
   
    savePicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;

    savePicker.FileTypeChoices.Add("Text", new List<string>() { ".txt" });

    StorageFile file = await savePicker.PickSaveFileAsync();
  
     foreach (IPage page in _pdfDisplayManager.GetActivePages())
     {
       page.SaveAsync(file);
     }

  }

  private UIElement createScrollViewControl()
  {

      ScrollViewControl svc = new ScrollViewControl();

      svc.DataContext = _pdfDisplayManager;

      svc.Name = "uiScrollView";

      svc.SetBinding(ScrollViewControl.ItemCountProperty, new Binding { Path = new PropertyPath("PageCount") });

      svc.SetBinding(ScrollViewControl.ItemIndexProperty, new Binding { Path = new PropertyPath("CurrentIndex"), Mode = BindingMode.TwoWay, UpdateSourceTrigger = UpdateSourceTrigger.Default });

      svc.StartIndex = _pdfDisplayManager.CurrentIndex;

      return svc;

}