PdfIntegrationProviderOnDocumentSaving Method |
Namespace: RadPdf.Integration
using System; using System.Web; using RadPdf.Data.Document.Objects; using RadPdf.Data.Document.Objects.FormFields; using RadPdf.Integration; public class CustomPdfIntegrationProvider : PdfIntegrationProvider { public override void OnDocumentSaving(DocumentSavingEventArgs e) { base.OnDocumentSaving(e); //Look for form field with the name "test" and see if it is null or has no value if( string.IsNullOrEmpty(((PdfTextField.)e.Document.Fields.Find("test")).Value) ) { //Cancel save e.Cancel = true; e.CancelMessage = "The form field \"test\" is not completed."; } //Add rectangle to first page (saved to PDF, but not shown to viewer until document is re-loaded) PdfObject obj = e.Document.Pages[0].CreateObject(PdfObjectCreatable.ShapeRectangle); { obj.Left = 0; obj.Top = 0; obj.Width = 100; obj.Height = 100; } } }
<?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>