Articles in this section
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();
}

View sample in GitHub.

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied