# Key Features

## Content



**PdfViewer for WPF and Silverlight** includes the following features:

*   **Load and view PDF files images**<br />Load and view PDF files in your WPF or Silverlight apps using [C1PdfViewer](/componentone/api/wpf/online-pdfviewer/dotnet-framework-api/C1.WPF.PdfViewer.4.6.2/C1.WPF.PdfViewer.C1PdfViewer.html). This XAML control has no external dependency on the desktop or Adobe products to view or save PDF files.<br /><br />
*   **PDF specification support**<br />[C1PdfViewer](/componentone/api/wpf/online-pdfviewer/dotnet-framework-api/C1.WPF.PdfViewer.4.6.2/C1.WPF.PdfViewer.C1PdfViewer.html) supports a subset of the PDF 1.5 specification. There are a few important limitations including encryption, special fonts, and rare image formats. Documents that use non-supported content will still render, but the formatting may be incorrect. It is recommended to use C1PdfViewer in a controlled environment where the features used by your PDF files can be tested before being used. The full list of limitations is available in the documentation.<br />
*   **Load and save documents**<br />Besides viewing generated reports, you can also use [C1PdfViewer](/componentone/api/wpf/online-pdfviewer/dotnet-framework-api/C1.WPF.PdfViewer.4.6.2/C1.WPF.PdfViewer.C1PdfViewer.html) to save PDF files to local machines.<br /><br />
*   **Custom toolbar**<br />[C1PdfViewer](/componentone/api/wpf/online-pdfviewer/dotnet-framework-api/C1.WPF.PdfViewer.4.6.2/C1.WPF.PdfViewer.C1PdfViewer.html) includes a default toolbar for quick application development. Creating a custom toolbar for C1PdfViewer is very simple as each button in the default toolbar has a corresponding Command in the control.<br /><br />
*   **Printing support**<br />[C1PdfViewer](/componentone/api/wpf/online-pdfviewer/dotnet-framework-api/C1.WPF.PdfViewer.4.6.2/C1.WPF.PdfViewer.C1PdfViewer.html) allows users to print the current document in its entirety or print select pages. You can directly print from the code using the [PrintDocument](/componentone/api/wpf/online-pdfviewer/dotnet-framework-api/C1.WPF.PdfViewer.4.6.2/C1.WPF.PdfViewer.C1PdfViewer.PrintDocument.html) method.<br /><br />
*   **Multiple view modes**<br />[C1PdfViewer](/componentone/api/wpf/online-pdfviewer/dotnet-framework-api/C1.WPF.PdfViewer.4.6.2/C1.WPF.PdfViewer.C1PdfViewer.html) features multiple viewing modes so you can view documents at any scale. Users can set the zoom level to fit the page into view. View a single page or multiple pages side-by-side.<br /><br />
*   **Get pages from PDF**<br />After loading a PDF, you can obtain a list of its pages as FrameWorkElements to customize how the user views each page. This provides a lot more flexibility in working with existing PDF documents. All you need to do is call the [GetPages](/componentone/api/wpf/online-pdfviewer/dotnet-framework-api/C1.WPF.PdfViewer.4.6.2/C1.WPF.PdfViewer.C1PdfViewer.GetPages.html) method.<br /><br />
*   **Asynchronous text search support**<br />The asynchronous text search support in C1PdfViewer gives much faster search results by highlighting the text as soon as it is found. The search starts from the current page to end page, and then from end page to current page. The asynchronous text search support is especially important in WPF and Silverlight applications for improved performance.<br /><br />
*   **Load and view PDF files containing attachments**<br />[C1PDFViewer](/componentone/api/wpf/online-pdfviewer/dotnet-framework-api/C1.WPF.PdfViewer.4.6.2/C1.WPF.PdfViewer.C1PdfViewer.html) lets you load and view PDF files containing attachments. The attached files appear in the shape of a clip-shaped icon that can be clicked and readily viewed.