How to get document paginator of a specific page from the PDF document in WPF PDFViewer?
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();
}