Document Library for UWP
PDF のロード
PdfDocumentSource for UWP > 機能 > PDF のロード

PdfDocumentSource を使用すると、C1PdfDocumentSource クラスの 2 つのメソッド、LoadFromFileAsyncLoadFromStreamAsync を使用して FlexViewer コントロールに PDF をロードできます。LoadFromFileAsync メソッドはソースファイルから PDF をロードし、LoadFromStreamAsync メソッドはソースストリームから PDF をロードします。

ファイルから PDF をロードするには

次のコードは、LoadFromFileAsync メソッドを使用してソースファイルから PDF をロードします。

Dim fileName As String = Nothing

sf = Await StorageFile.GetFileFromApplicationUriAsync(New Uri _
     ("ms-appx:///DefaultDocument.pdf"))
Await pds.LoadFromFileAsync(sf)
fileName = Path.GetFileName(sf.Name)
string fileName = null;

sf = await StorageFile.GetFileFromApplicationUriAsync(
     new Uri("ms-appx:///DefaultDocument.pdf"));
await pds.LoadFromFileAsync(sf);
fileName = Path.GetFileName(sf.Name);

ストリームから PDF をロードするには

  1. 次のコードは、LoadFromStreamAsync メソッドを使用してソースストリームから PDF をロードします。
    Private asm As Assembly = GetType(MainPage).GetTypeInfo().Assembly
    Private Function LoadPdf(pdfName As String) As Task
        Dim pdfSource As New C1PdfDocumentSource()
        pdfSource.UseSystemRendering = False
        If pdfSource Is Nothing Then
           pdfSource = New C1PdfDocumentSource()
        End If
        ' リソースストリームからPDFをロードします
        Dim memStream = New MemoryStream()
        Using stream As Stream = asm.GetManifestResourceStream(_
          Convert.ToString("Sample_PDFDocumentSource.Resources.") & pdfName)
           Await stream.CopyToAsync(memStream)
           memStream.Position = 0
        End Using
        Await pdfSource.LoadFromStreamAsync(memStream.AsRandomAccessStream())
        flexViewer.DocumentSource = pdfSource
    End Function
    
    Assembly asm = typeof(MainPage).GetTypeInfo().Assembly;
    async Task LoadPdf(string pdfName)
    {
        C1PdfDocumentSource pdfSource = new C1PdfDocumentSource();
        pdfSource.UseSystemRendering = false;
        if (pdfSource == null)
        {
            pdfSource = new C1PdfDocumentSource();
        }
        // リソースストリームからPDFをロードします
        var memStream = new MemoryStream();
        using (Stream stream = asm.GetManifestResourceStream
              ("Sample_PDFDocumentSource.Resources." + pdfName))
        {
            await stream.CopyToAsync(memStream);
            memStream.Position = 0;
        }
        await pdfSource.LoadFromStreamAsync(memStream.AsRandomAccessStream());
        flexViewer.DocumentSource = pdfSource;
    }
    
  2. InitializeComponent()メソッドの下に次のコードを追加して、LoadPdfメソッドを呼び出します。
    LoadPdf("DefaultDocument.pdf")
    
    LoadPdf("DefaultDocument.pdf");
    
関連トピック