Category / Section
How to get document paginator of a specific page from the PDF document in WPF PDFViewer?
1 min read
You can get the document paginator of a specific page by importing that page from PdfLoadedDocument and getting the fixed document of that page from PdfDocumentView in WPF PDFViewer.
C#
PdfDocumentView pdfViewer = new PdfDocumentView(); //Load the document in PdfLoadedDocument PdfLoadedDocument loadedDocument = new PdfLoadedDocument("../../Data/Objective C succinity.pdf"); //create an instance of PdfDocument PdfDocument document = new PdfDocument(); //Import the page you need document.ImportPage(loadedDocument, 4); //save the document in a memory stream MemoryStream stream = new MemoryStream(); document.Save(stream); //load the pdfdocumentview with the memory stream pdfViewer.Load(stream); try { //get fixed document from viewer FixedDocument pdfPrintDocument = pdfViewer.PrintDocument; //get document paginator from fixed document DocumentPaginator pdfPaginator = pdfPrintDocument.DocumentPaginator; //write the document paginator as xps document. var xpsDocument = new XpsDocument("../../Data/output.xps", FileAccess.Write); var documentWriter = XpsDocument.CreateXpsDocumentWriter(xpsDocument); documentWriter.Write(pdfPaginator); xpsDocument.Close(); } finally { pdfViewer.Unload(); }