New to Telerik Document ProcessingStart a free 30-day trial

Export RadFixedPage to Image

Updated on Jun 5, 2026

Environment

Product VersionProductAuthor
below 2020.2.513 or above*RadPdfProcessingMartin Velikov
below 2020.2.513 or above*RadPdfViewerMartin Velikov

* Due to the new RadPdfViewer document model transition, there is a difference in the implementation between different assembly versions.

Description

How to export a RadFixedPage to a TIFF file.

Solution

To achieve this, use the RadPdfViewer control from the UI for WPF suite to create images from the RadFixedDocument pages by using the ThumbnailFactory class.

The COM threading model for the application must be a single-threaded apartment (STA). Place a [STAThread] attribute on the entry point method.

Example 1: Assembly Versions below 2020.2.513

csharp

	[STAThread]
	private static void Main(string[] args)
	{
		PdfFormatProvider pdfProcessingProvider = new PdfFormatProvider();
		RadFixedDocument document = GetRadFixedDocument(pdfProcessingProvider);

		byte[] data = pdfProcessingProvider.Export(document);
			
		RadPdfViewer pdfViewer = new RadPdfViewer();

		PdfFormatProvider pdfViewerProvider = new PdfFormatProvider(new MemoryStream(data), FormatProviderSettings.ReadAllAtOnce);
		pdfViewer.Document = pdfViewerProvider.Import();

		int pageNumber = 0;
		RadFixedPage page = pdfViewer.Document.Pages[pageNumber];

		ThumbnailFactory factory = new ThumbnailFactory();
		ImageSource imageSource = factory.CreateThumbnail(page, page.Size);

		Image image = new Image();
		image.Source = imageSource;

		Grid container = new Grid();
		container.Background = Brushes.White;
		container.Children.Add(image);
		container.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
		container.Arrange(new Rect(new Point(0, 0), container.DesiredSize));

		RenderTargetBitmap bitmap = new RenderTargetBitmap((int)PageLayoutHelper.GetActualWidth(page), (int)PageLayoutHelper.GetActualHeight(page), 96, 96, PixelFormats.Pbgra32);
		bitmap.Render(container);

		string exportedFileName = "Exported.tiff";
		using (FileStream fileStream = new FileStream(exportedFileName, FileMode.Create))
		{
			BitmapEncoder encoder = new TiffBitmapEncoder();
			encoder.Frames.Add(BitmapFrame.Create(bitmap));
			encoder.Save(fileStream);
		}
	}

Example 2: Assembly Versions 2020.2.513 or Later

csharp

	[STAThread]
	private static void Main(string[] args)
	{
		PdfFormatProvider pdfProcessingProvider = new PdfFormatProvider();
		RadFixedDocument document = GetRadFixedDocument(pdfProcessingProvider);

		int pageNumber = 0;
		RadFixedPage page = document.Pages[pageNumber];

		ThumbnailFactory factory = new ThumbnailFactory();
		ImageSource imageSource = factory.CreateThumbnail(page, page.Size);

		Image image = new Image();
		image.Source = imageSource;

		Grid container = new Grid();
		container.Background = Brushes.White;
		container.Children.Add(image);
		container.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
		container.Arrange(new Rect(new Point(0, 0), container.DesiredSize));

		RenderTargetBitmap bitmap = new RenderTargetBitmap((int)PageLayoutHelper.GetActualWidth(page), (int)PageLayoutHelper.GetActualHeight(page), 96, 96, PixelFormats.Pbgra32);
		bitmap.Render(container);

		string exportedFileName = "Exported.tiff";
		using (FileStream fileStream = new FileStream(exportedFileName, FileMode.Create))
		{
			BitmapEncoder encoder = new TiffBitmapEncoder();
			encoder.Frames.Add(BitmapFrame.Create(bitmap));
			encoder.Save(fileStream);
		}
	}

See Also