RAD PDF - Interactive Demonstrations

In this example, we protect a PDF file from being downloaded or fully printed. While the user can still navigate, search, and select text in the document, the PDF itself can NOT be downloaded. (Text search and selection can optionally be turned off too using other PdfDocumentSettings.) For more advanced configurations, a PdfIntegrationProvider can instead be used to hook into each download or print event and optionally cancel each request based on custom logic. It's important to note that while RAD PDF can prevent access to the PDF itself, a user may still be able to use some content copying tools (e.g. resource inspection, screen capture) as browsers don't typically let a website disable them without requiring your users to install a plugin or other software. These limitations will be present in almost any web friendly solution similar to RAD PDF.

RAD PDF Sample Source Files

Default.aspx

<%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="RadPdf" Namespace="RadPdf.Web.UI" TagPrefix="radPdf" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>RAD PDF Sample</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <radPdf:PdfWebControl ID="PdfWebControl1" RunAt="server"
            Height="600px" 
            Width="100%" 
            HideBookmarks="True"
            HideEditMenu="True"
            HideFileMenu="True"
            HideThumbnails="True"
            ViewerPageLayoutDefault="SinglePageContinuous"
            />
    </div>
    </form>
</body>
</html>

Default.aspx.cs

using System;
using RadPdf.Data.Document;

partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack) 
        {
            // Get PDF as byte array from file (or database, browser upload, remote storage, etc)
            byte[] pdfData = System.IO.File.ReadAllBytes(@"C:\demo.pdf");
            
            // Load PDF byte array into RAD PDF, preventing PDF download and
            // printing, but still allowing search, text selection, and viewing
            this.PdfWebControl1.CreateDocument("Document Name", pdfData, 
                PdfDocumentSettings.IsReadOnly | PdfDocumentSettings.DisableDownload | PdfDocumentSettings.DisablePrint);
        }
    }
}

Default.aspx

<%@ Page Language="VB" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<%@ Register Assembly="RadPdf" Namespace="RadPdf.Web.UI" TagPrefix="radPdf" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>RAD PDF Sample</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <radPdf:PdfWebControl ID="PdfWebControl1" RunAt="server"
            Height="600px" 
            Width="100%" 
            HideBookmarks="True"
            HideEditMenu="True"
            HideFileMenu="True"
            HideThumbnails="True"
            ViewerPageLayoutDefault="SinglePageContinuous"
            />
    </div>
    </form>
</body>
</html>

Default.aspx.vb

Option Explicit On
Option Strict On

Imports RadPdf.Data.Document

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Not IsPostBack Then

            ' Get PDF as byte array from file (or database, browser upload, remote storage, etc)
            Dim pdfData As Byte() = System.IO.File.ReadAllBytes("C:\demo.pdf")

            ' Load PDF byte array into RAD PDF, preventing PDF download and
            ' printing, but still allowing search, text selection, and viewing
            Me.PdfWebControl1.CreateDocument("Document Name", pdfData, _
              PdfDocumentSettings.IsReadOnly Or PdfDocumentSettings.DisableDownload Or PdfDocumentSettings.DisablePrint)
        End If
    End Sub
End Class
RAD PDF is a Red Software product - ©2007-2021 Red Software