Frequently Asked Questions

PDFTron SilverDox SDK

Collapse imageExpand ImageCopy imageCopyHover image

What is SilverDox?

SilverDox is a library for publishing and viewing PDF, XPS, and other documents in Silverlight. Besides PDF and XPS, SilverDox allows conversion from MS Office and any printable document format to Silverlight. The files can be viewed in a fast, feature-rich SilverDox viewing component for Silverlight or using any other XPS consumer.

Silverlight Document Publisher is available as a command-line utility (called DocPub) or as an add-on option to PDFNet SDK .

Who should use SilverDox SDK?

SilverDox is designed for Silverlight developers who need to add online and offline document viewing capabilities to their Silverlight applications.

Which document formats are supported by SilverDox?

SilverDox Document Publisher offers direct support for PDF, XPS, EMF, MS Office, PNG, BMP, TIFF, GIF, JPEG and any other printable document format. MS Office formats (e.g. Word, Publisher, Excel, Outlook, PowerPoint, etc.) are supported either via interop or through a virtual printer driver. Publishing from any other printable documents (such as RTF, DWG, DGM, TXT, SVG, etc.) to Silverlight XPS (i.e. XOD) is done through a virtual printer driver.

What is XPS?

"XPS" stands for "XML Paper Specification" and is a document format as well as the native print spooler format in Microsoft's Windows. The XPS document format consists of XML markup that defines the layout of a document and the visual appearance of each page along with rendering rules for distributing, archiving, rendering, processing and printing the documents. Just like PDF, the XPS document format enables users to view, print, and archive any type of documents without the original program that created them and without loss of fidelity.

What is a XOD file?

XOD is an XPS document optimized for Silverlight viewing. For example, to view a XOD file in Microsoft WPF viewer, simply change the extension to XPS. The only reason why we call these XPS files 'XOD' is to differentiate files optimized for viewing in Silverlight from non-optimized files.

Why is a XOD file better than a generic XPS file for online viewing?

We differentiate between SilverDox XPS files (XOD) and generic XPS files for the same reason various PDF creators differentiate between 'Print' and 'Web' optimized documents.

Generic XPS files may contain features such as color schemes, TIFF, HDPhoto, and different flavors of PNG and JPEG that are not supported in Silverlight. Implementation of these features would complicate and bloat the Silverlight client and would also negatively affect the viewing performance. Currently there is no viewer that reliably implements the full XPS specification. Even if someone were to implement a generic viewer it would run into crashes, as well as performance and memory issues when processing many documents. The main reason for this is that Silverlight was not designed to deal with the images sizes and number of graphical elements that can frequently occur in some pre-press and graphically rich documents. Due to the potential for interleaved parts in an XPS package, as well as large images, the viewer would not be able to guarantee an efficient viewing experience. Furthermore, generic XPS documents do not need to contain thumbnails, a feature which is important for efficient online document navigation. Text search may not work as expected, etc.

SilverDox solves all of the above issues by normalizing PDF or generic XPS files to an XPS subset optimized for Silverlight. For example, pages which are too complex can be simplified or pre-rasterized while preserving search capability, large images are down-sampled, uncompressed data is compressed, duplicated streams, and invisible page content are removed, etc. This guarantees that all SilverDox documents will be rendered accurately, reliably, and efficiently.

What is the difference between SilverDox Document Publisher and PDF2XPS?

SilverDox Document Publisher components (PDFNet SDK or DocPub) can export two flavors of XPS: one is optimized for high-quality printing and archiving and the other for viewing in Silverlight (also known as .xod). PDF2XPS can only generate XPS for printing and archiving.

For more information describing the differences between Silverlight XPS and PDF2XPS output, please see 'Why is a XOD file better than a standard XPS file for online viewing?' FAQ item.

Can SilverDox process and view any PDF or XPS document?

The Silverlight Document Publisher supports the entire PDF and XPS Specification and is regularly tested against a large sample of test documents. The converter can work with and repair many damaged or malformed documents.

Some document features that can be directly represented in Silverlight (such as certain PDF shadings and blend modes) are rasterized on an object level in order to preserve document accuracy. The Silverlight Document Viewer currently supports most XPS features via XOD files except for the ‘VisualBrush’ element and Viewport & Viewbox property of 'ImageBrush'. The support for these attributes will be added as part of the next product update.

How does SilverDox Work?

The Silverlight Document Publisher optimizes PDF, XPS, MS Office, or any other printable document to a web-optimized Silverlight XPS document (which we refer to as .XOD). The file can be viewed in any XPS viewer including the free SilverDox viewer for Silverlight. The simple to use API provides a set of ready-to-use, customizable controls as well as a set of building blocks to build new controls from scratch.

How is SilverDox licensed?

SilverDox viewer is licensed for free with the required SilverDox document publisher license (Server or OEM). Source code licensing for the SilverDox viewer component is available upon request.

How do I enable SharePoint 2010 to support SilverDox?

SilverDox’s HttpPartRetriever requires that the web server support byte-range requests. SharePoint 2010 / IIS 7.5 supports byte-range requests, but only when disk-based caching is enabled. Disk-based caching is disabled by default, so to support SilverDox, it must be turned on. To turn it on, follow the steps described in the Microsoft article Configuring cache settings for a Web application (SharePoint Server 2010). Note that in step 10, you will have to add the file extension “xod”. Other file type extensions may be removed if you do not wish to cache them.