PdfIntegrationProviderOnObjectDataAdding Method |
Namespace: RadPdf.Integration
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.
using System; using System.Web; using RadPdf.Integration; public class CustomPdfIntegrationProvider : PdfIntegrationProvider { public override void OnObjectDataAdding(ObjectDataAddingEventArgs e) { base.OnObjectDataAdding(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."; } } }
<?xml version="1.0"?> <configuration> <appSettings> <add key="RadPdfConnectionString" value="Server=.\SQLExpress;Database=RadPdf;Trusted_Connection=Yes;"/> <add key="RadPdfLicenseKey" value="DEMO"/> <add key="RadPdfIntegrationProvider" value="CustomPdfIntegrationProvider,App_Code"/> </appSettings> <system.web> <httpHandlers> <add path="RadPdf.axd" verb="GET,POST" type="RadPdf.Web.HttpHandler.PdfHttpHandler"/> </httpHandlers> </system.web> <!-- 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. --> <system.webServer> <validation validateIntegratedModeConfiguration="false"/> <handlers> <add path="RadPdf.axd" verb="GET,POST" name="PdfHttpHandler" preCondition="integratedMode" type="RadPdf.Web.HttpHandler.PdfHttpHandler"/> </handlers> </system.webServer> </configuration>