Skip to main content

WPF Uygulamalarında DocumentViewer ile XPS Dokümanlarının Görüntülenmesi

XPS, Windows Vista ile birlikte kullanımı gittikçe yaygınlaşan bir dosya formatı. Word, Excel, Powerpoint dosyalarını XPS formatına çevirerek Office kurulu olmayan bir bilgisayarda dahi Internet Explorer 7 gibi bir tarayıcı üzerinde görüntüleyebiliyoruz. Bu yazıda kullanımı yaygınlaşan XPS formatınındaki dosyaları WPF(Windows Presentation Foundation) uygulamalarında DocumentViewer kontrolüyle nasıl görüntüleyebileceğimizi anlatmaya çalışacağım.

WPF ile gelen kontrollerimizden olan DocumentView üzerinde bir XPS dosyası görüntüleyebilmek için XpsDocument tipinden bir nesneye ihtiyacımız olacaktır. mscorlib.dll'de bulunmayan bu sınıf için ReachFramework.dll'i projemize eklememiz gerekiyor.

ReachFramework.dll'in Add Reference seçeneğinden seçilmesi
ReachFramework.dll'in proje referanslarına eklenmesi

İlgili dll dosyasını projemizin referanslarına ekledikten sonra artık uygulamamıza geçebiliriz. Yapacağımız işlem oldukça basit aslında; penceremize bir tane DocumentViewer kontrolü ekliyor ve pencerenin Loaded event'ine aşağıda gördüğünüz iki satırlık ifadeyi ekliyoruz.

Window1.xaml

<Window x:Class="WpfDocumentViewerXps.Window1"

   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

   Title="DocumentViewer ile XPS Dosyalarının Görüntülemesi" Height="320" Width="600">

    <Grid>

        <DocumentViewer Name="documentViewer1" />

    </Grid>

</Window>

Window1.xaml.cs

using System.Windows.Xps.Packaging; //Gerekli isim alanı

namespace WpfDocumentViewerXps

{

    public partial class Window1 : Window

    {

        public Window1()

        {

            InitializeComponent();

        }

        private void Window_Loaded(object sender, RoutedEventArgs e)

        {

            //XpsDocument nesnesi belirtilen yoldaki dosya içeriğini

            //GetFixedDocumentSequence metodu ile kontrolümüze sunacaktır

            XpsDocument xps = new XpsDocument(@"D:\test.xps", System.IO.FileAccess.Read);

            documentViewer1.Document = xps.GetFixedDocumentSequence();

        }

    }

}

 

DocumentViewer ile XPS dokümanını görüntüledik
DocumentView'da görüntülenen XPS dokümanı

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir