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; } } }
using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using RadPdf; var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddRazorPages(); builder.Services.AddSession(); // Setup WebApplication var app = builder.Build(); app.UseStaticFiles(); app.UseRouting(); app.UseSession(); app.UseAuthorization(); // Or however you normally process page requests app.MapRazorPages(); // Create middleware settings RadPdfCoreMiddlewareSettings settings = new RadPdfCoreMiddlewareSettings() { // Add SQL Server Connection String, if not using Lite Documents // Sample connection string below connects to a SQL Server Express instance on localhost // TrustServerCertificate=True is set to avoid a trust exception (e.g. "The certificate chain was issued by an authority that is not trusted.") // ConnectionString = @"Server=.\SQLExpress;Database=RadPdf;Trusted_Connection=Yes;TrustServerCertificate=True;", // Add License Key LicenseKey = "DEMO", // Attach the Integration Provider IntegrationProvider = new CustomPdfIntegrationProvider() // To run RAD PDF without the System Service, add UseService = false // If using Lite Documents without the System Service, a LiteStorageProvider must also be implemented //UseService = false }; // Add RAD PDF's middleware to app app.UseRadPdf(settings); app.Run();