/// <summary> /// Renders the first page of a PDF document from a stream. /// </summary> /// <param name="stream"></param> /// <param name="renderWidth"></param> /// <returns></returns> public static async Task <BitmapImage> RenderFirstPageFromStream(IRandomAccessStream stream, uint renderWidth) { PdfModelMS msPdf = new PdfModelMS(); msPdf.PdfDoc = await PdfDocument.LoadFromStreamAsync(stream); return(await msPdf.RenderPageImage(1, renderWidth)); }
/// <summary> /// Renders a page as image in the memory. /// </summary> /// <param name="pageNumber">1-based page number.</param> /// <param name="renderWidth">Width of the image.</param> /// <returns></returns> public async Task <BitmapImage> RenderPageImage(int pageNumber, uint renderWidth) { // Load exiting annotations if (sfPdf.AnnotationCount(pageNumber) == 0) { return(await msPdf.RenderPageImage(pageNumber, renderWidth)); } else { MemoryStream stream = sfPdf.ExtractPageWithoutInking(pageNumber); return(await PdfModelMS.RenderFirstPageFromStream(stream.AsRandomAccessStream(), renderWidth)); } }