2017-11-30 8 views
0

필자는 애플 리케이션의 사이드 뷰어가되도록 pdf가 필요합니다. 애플 리케이션에서 변경된 사항을 볼 때 pdf 파일을 볼 수 있습니다. Windows 8.1 앱에서는 Reader 앱을 사용하여 PDF가 열리고 기본적으로 PDF가 나란히 열립니다.UWP 애플 리케이션에서의 PDF 파일의 나란히보기

그러나 Win10의 경우는 동일하지 않습니다. 승리 10에서 리더 응용 프로그램은 별도로 이미지 아래 승리 8.1에

등이 유사한 뷰어 앱 screen.Is을 다시 밀어 열립니다 것은 8.1 응용 프로그램

여기

+0

상대 코드 스 니펫? 개발중인 기능은 무엇입니까? 독자 앱은 무엇입니까? –

+0

코드 스 니펫은 내 문제와 아무런 관련이 없습니다. 문제는 PDF 뷰어에 있습니다. Reader app는 Microsoft Corporation에서 PDF 및 기타 문서를 여는 응용 프로그램입니다. –

+0

위의 그림에서 왼쪽은 내 응용 프로그램 화면이고 오른쪽은 독자 응용 프로그램입니다. pdf가 앱에서 열리면 판독기 앱이 화면을 균등하게 분할하여 실행됩니다. –

답변

0

창에서 것은의 해결책 응용 프로그램 내에서 PDF 파일 열기

평상시처럼 저장소 파일로 PDF 파일을 열었습니다.

StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/pdffile.pdf")); 
Windows.Data.Pdf.PdfDocument doc = await Windows.Data.Pdf.PdfDocument.LoadFromFileAsync(file); 
Load(doc); 

이제 PDF 문서를 페이지별로 BitmapImage로 읽고 목록에 추가했습니다.

public async void Load(PdfDocument pdfDoc) 
    { 
     PdfPages.Clear(); 

     for (uint i = 0; i < pdfDoc.PageCount; i++) 
     { 
      BitmapImage image = new BitmapImage(); 

      var page = pdfDoc.GetPage(i); 

      using (InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream()) 
      { 
       await page.RenderToStreamAsync(stream); 
       await image.SetSourceAsync(stream); 
      } 

      PdfPages.Add(image); 
     } 
    } 

    public ObservableCollection<BitmapImage> PdfDocPages 
    { 
     get; 
     set; 
    } = new ObservableCollection<BitmapImage>(); 

ObservableCollection을 ItemsControl에 바인딩하면 PDF를 이미지로 볼 수 있습니다.

<ScrollViewer ZoomMode="Enabled" Background="DarkGray" Grid.Column="1"> 
     <ItemsControl ItemsSource="{Binding PdfDocPages, ElementName=pageRoot}"> 
      <ItemsControl.ItemTemplate> 
       <DataTemplate> 
        <Image Source="{Binding}" Margin="0 2" /> 
       </DataTemplate> 
      </ItemsControl.ItemTemplate> 
     </ItemsControl> 
    </ScrollViewer>