Winnovative Software Logo

 HTML to PDF Converter - Excel Library - ASP.NET Charts - RTF to PDF Converter
 PDF Merge and Split - PDF Security - PDF Viewers - PDF to Text - Images Extractor

 
Skip Navigation Links
 

PDF Viewer Control for ASP.NET

The PDF Viewer control for ASP.NET can be linked into any ASP.NET application to add PDF visualization and manipulation capabilities to your ASP.NET application.

With Winnovative PDF Viewer for ASP.NET you can display a PDF from a specified URL or from stream of bytes into the client browser, control PDF security options to disable content copying or printing.

The integration with your ASP.NET applications is extremely easy. The free Adobe Reader is required on the client computer where the control is displayed in browser.

Features

PDF Viewer for ASP.NET Box
ASP.NET server control and C# samples
Display a PDF document given as a stream of bytes
Display PDF documents from a specified URL
Navigate and print the document from browser
Show or hide viewer toolbars
Show or hide viewer scroll bars
Show or hide viewer navigation panel
Disable PDF document printing or copying
Royalty free development libraries and samples
Support for .NET 4.0 framework and later
Documentation and C# samples for all the features


Code Sample for PDF Viewer for ASP.NET

The code below was taken from the PDF Viewer for ASP.NET demo application available for download in the product package. In this sample an instance of the PdfViewer class is used to display a PDF document in a browser.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

// the HTML to PDF converter namespace
using Winnovative;

// the PDF Viewer namespace
using PdfViewer4AspNet;

namespace PdfViewer4AspNetDemo
{
    public partial class DisplayPdfBytes : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                LoadPageFitModes();
                LoadDocumentDisplayModes();

                LoadPdfStream();
            }
        }


        protected void btnConvert_Click(object sender, EventArgs e)
        {
            // apply the viewer settings before loading the PDF from stream
            ApplyViewerPreferences();
            ApplySecurityOptions();

            LoadPdfStream();
        }

        private void LoadPageFitModes()
        {
            string[] pageFitModes = Enum.GetNames(typeof(PageFitMode));
            ddlPageFitMode.DataSource = pageFitModes;
            ddlPageFitMode.DataBind();
            ddlPageFitMode.SelectedValue = pdfViewerControl.PageFitMode.ToString();
        }

        private void LoadDocumentDisplayModes()
        {
            string[] pageModes = Enum.GetNames(typeof(DocumentDisplayMode));
            ddlPageMode.DataSource = pageModes;
            ddlPageMode.DataBind();
            ddlPageMode.SelectedValue = pdfViewerControl.DocumentDisplayMode.ToString();
        }

        private void ApplyViewerPreferences()
        {
            pdfViewerControl.DocumentDisplayMode = 
                (DocumentDisplayMode)Enum.Parse(typeof(DocumentDisplayMode), ddlPageMode.SelectedValue);
            pdfViewerControl.ShowNavigationPanel = cbShowWindowUI.Checked;
            pdfViewerControl.ShowScrollbars = cbShowScrollbars.Checked;
            pdfViewerControl.ShowToolbarMode = 
                cbShowToolbar.Checked ? ShowToolbarMode.Show : ShowToolbarMode.Hide;
            pdfViewerControl.PageFitMode = 
                (PageFitMode)Enum.Parse(typeof(PageFitMode), ddlPageFitMode.SelectedValue);
        }

        private void ApplySecurityOptions()
        {
            pdfViewerControl.PdfSecurityOptions.CanPrint = cbAllowPrint.Checked;
            pdfViewerControl.PdfSecurityOptions.CanCopyContent = cbAllowContentCopy.Checked;
            pdfViewerControl.PdfSecurityOptions.CanFillFormFields = cbAllowFormFilling.Checked;
            pdfViewerControl.PdfSecurityOptions.CanEditContent = cbAllowContentEdit.Checked;
            pdfViewerControl.PdfSecurityOptions.CanEditAnnotations = cbAllowEditAnnotations.Checked;
            pdfViewerControl.PdfSecurityOptions.CanAssembleDocument = cbAllowAssemble.Checked;

            pdfViewerControl.PdfSecurityOptions.UserPassword = textBoxUserPassword.Text.Trim();
        }

        private void LoadPdfStream()
        {
            //get the PDF stream
            string urlToConvert = textBoxURLToConvert.Text.Trim();
            byte[] pdfBytes = new PdfConverter().GetPdfBytesFromUrl(urlToConvert);

            // set the PDF bytes to be loaded in viewer
            pdfViewerControl.LicenseKey = "R8nYyNnfyNnZ2dnI3MbYyNvZxtnaxtHR0dE=";
            pdfViewerControl.PdfSourceBytes = pdfBytes;
        }

        protected void btnApplyViewerPreferences_Click(object sender, EventArgs e)
        {
            // update the viewer preferences
            ApplyViewerPreferences();
            ApplySecurityOptions();
        }
    }
}