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.
- 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
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();
}
}
}