ActiveReports 12
Reason Property
Example 

GrapeCity.ActiveReports.Export.Pdf.v12 Assembly > GrapeCity.ActiveReports.Export.Pdf.Section.Signing Namespace > PdfSignature Class : Reason Property
Allows you to add a reason for digitally signing the document.
Syntax
'Declaration
 
Public Property Reason As SignatureField(Of String)
public SignatureField<string> Reason {get; set;}
Remarks

In the Adobe Acrobat Save as Certified Document wizard, the following reasons can be selected:

This feature is for use with the Professional Edition license only. An evaluation message is rendered when used with the Standard Edition license.

Note: This feature can not be used if a report is exported into a password-protected PDF document.

In the code example above, replace the path and filename and password of the Certificate with your certificate information, and replace the time stamping authority (TSA) URL with that of your TSA.

Note: You must purchase a volume-based registration at an actual TSA for your applications.

Example
' Text signature.
Me.PdfExport1.Signature.VisibilityType = GrapeCity.ActiveReports.Export.Pdf.Section.Signing.VisibilityType.Text
Me.PdfExport1.Signature.Stamp.Bounds = New RectangleF(1, 1, 4, 2)
Me.PdfExport1.Signature.Stamp.TextAlignment = GrapeCity.ActiveReports.Export.Pdf.Section.Signing.Alignment.Left

' Set certificate & password.
Me.PdfExport1.Signature.Certificate = New Security.Cryptography.X509Certificates.X509Certificate2(Application.StartupPath & "\..\..\certificate.pfx", "password")

' Signature items.
Me.PdfExport1.Signature.SignDate = New GrapeCity.ActiveReports.Export.Pdf.Section.Signing.SignatureField(Of Date)(System.DateTime.Now, True)
Me.PdfExport1.Signature.Contact = New GrapeCity.ActiveReports.Export.Pdf.Section.Signing.SignatureField(Of String)("ar10@grapecity.com", True)
Me.PdfExport1.Signature.Reason = New GrapeCity.ActiveReports.Export.Pdf.Section.Signing.SignatureField(Of String)("I agree.", True)
Me.PdfExport1.Signature.Location = New GrapeCity.ActiveReports.Export.Pdf.Section.Signing.SignatureField(Of String)("Japan", True)

' Time stamp.
Me.PdfExport1.Signature.TimeStamp = New GrapeCity.ActiveReports.Export.Pdf.Section.Signing.TimeStamp("http://TSAServer", "null", "null")
Me.PdfExport1.Export(rpt.Document, Application.StartupPath & "\..\..\TimeStamped.pdf")
this.pdfExport1.Signature.VisibilityType = GrapeCity.ActiveReports.Export.Pdf.Section.Signing.VisibilityType.Text;
this.pdfExport1.Signature.Stamp.Bounds = new RectangleF(1, 1, 4, 2);
this.pdfExport1.Signature.Stamp.TextAlignment = GrapeCity.ActiveReports.Export.Pdf.Section.Signing.Alignment.Left;

// Set certificate & password.
this.pdfExport1.Signature.Certificate = new System.Security.Cryptography.X509Certificates.X509Certificate2(Application.StartupPath + "\\..\\..\\certificate.pfx", "password");

// Signature items.
this.pdfExport1.Signature.SignDate = new GrapeCity.ActiveReports.Export.Pdf.Section.Signing.SignatureField<System.DateTime>(System.DateTime.Now, true);
this.pdfExport1.Signature.Contact = new GrapeCity.ActiveReports.Export.Pdf.Section.Signing.SignatureField<string>("ar10@grapecity.com", true);
this.pdfExport1.Signature.Reason = new GrapeCity.ActiveReports.Export.Pdf.Section.Signing.SignatureField<string>("I agree.", true);
this.pdfExport1.Signature.Location = new GrapeCity.ActiveReports.Export.Pdf.Section.Signing.SignatureField<string>("Japan", true);

// Time stamp.
this.pdfExport1.Signature.TimeStamp = new GrapeCity.ActiveReports.Export.Pdf.Section.Signing.TimeStamp("http://TSAServer", "null", "null");
this.pdfExport1.Export(rpt.Document, Application.StartupPath + "\\..\\..\\TimeStamped.pdf");
See Also

Reference

PdfSignature Class
PdfSignature Members