Some test text!

Search
Hamburger Icon

Xamarin / Guides / Viewer optimized

Optimizing PDF files in Xamarin for fast viewing

Viewer optimized PDF is a unique way of near-instantaneous loading and viewing of remotely stored PDFs regardless of their size or complexity. A Viewer optimized file is an optimized PDF document that allows the Viewer to display a document preview even before all client-side components are loaded. In the past, a Viewer could stream arbitrary large documents for viewing optimization using standard PDF linearization, but we have extended this concept to support fast viewing of complex pages which are slow to render as well.

Create a viewer optimized PDF

To optimize a PDF, use the SaveViewerOptimized function with default or custom settings on desktop or server.

using (PDFDoc doc = new PDFDoc(filename)) {
  // Options for SaveViewerOptimized
  ViewerOptimizedOptions options = new ViewerOptimizedOptions();

  // A number from 0 (include all thumbnails) to 100
  // (include only the first thumbnail). The default value is 50.
  options.SetThumbnailRenderingThreshold(40);

  // The maximum allowed length for the thumbnail's height/width.
  // The default thumbnail size is 1024.
  options.SetThumbnailSize(1500);

  // Optimize pdf
  doc.SaveViewerOptimized(output, options);

  doc.Close(); // release resources
}

Compress & optimize PDF files
Full sample code shows how to use SaveViewerOptimized to embed thumbnails with a PDF file which will enable fast rendering in the viewer.

Create a viewer optimized PDF using DocPub

DocPub is a command-line utility which provides an alternative way of generating viewer optimized PDF files.

To create a viewer optimized PDF, use the command docpub -f pdf --viewer_optimized file.pdf.

./docpub -f pdf --viewer_optimized demo.pdf --fname demo.optimized.pdf

Open a viewer optimized PDF

The opening of the optimized PDF is no different than opening regular PDF files. By default, the Viewer is able to recognize a PDF that is Viewer optimized and will utilize this enhancement.

Trial setup questions? Ask experts on Discord
Need other help? Contact Support
Pricing or product questions? Contact Sales