Click or drag to resize

PdfIntegrationProviderOnObjectDataAdding Method

Called before an object's data (e.g. the image data for an PdfImageShape object) is added.

Namespace:  RadPdf.Integration
Assembly:  RadPdf (in RadPdf.dll) Version: (
public virtual void OnObjectDataAdding(
	ObjectDataAddingEventArgs e


Type: RadPdf.IntegrationObjectDataAddingEventArgs
An object (defined by ObjectDataAddingEventArgs) that contains event data.

Inheriting classes can override this method to perform other tasks or cancel the object data addition altogether. If this method is overridden in an inheriting class, you must call the base implementation.

The following example overrides the default PdfIntegrationProvider to create a custom Integration Provider for the web application.
using System;
using System.Web;

using RadPdf.Integration;

public class CustomPdfIntegrationProvider : PdfIntegrationProvider
    public override void OnObjectDataAdding(ObjectDataAddingEventArgs e)

        //Set max overhead (1 MB)
        const int DocumentOverheadMax = 0x100000;

        //Get current storage overhead available
        int overheadAvail = DocumentOverheadMax - e.GetDocumentOverhead();

        //Get new object size
        int size = e.Data.Length;

        //Check if this puts us over our limit
        if (size > overheadAvail)
            //Cancel add object
            e.Cancel = true;
            e.CancelMessage = "Adding this object will exceed the available space allocated for this document.";
The following web.config file registers the above custom Integration Provider. This example assumes that CustomPdfIntegrationProvider is in the directory App_Code of your ASP.NET web application.
<?xml version="1.0"?>
    <add key="RadPdfConnectionString" value="Server=.\SQLExpress;Database=RadPdf;Trusted_Connection=Yes;"/>
    <add key="RadPdfLicenseKey" value="DEMO"/>
    <add key="RadPdfIntegrationProvider" value="CustomPdfIntegrationProvider,App_Code"/>
      <add path="RadPdf.axd" verb="GET,POST" type="RadPdf.Web.HttpHandler.PdfHttpHandler"/>
    The system.webServer element is for use with IIS 7 (and later) when Managed Pipeline Mode is set to "Integrated".
    It will be ignored in other versions of IIS.
    <validation validateIntegratedModeConfiguration="false"/>
      <add path="RadPdf.axd" verb="GET,POST" name="PdfHttpHandler" preCondition="integratedMode" type="RadPdf.Web.HttpHandler.PdfHttpHandler"/>
See Also