ActiveReports 18 .NET Edition
MESCIUS.ActiveReports.Export.Pdf Assembly / GrapeCity.ActiveReports.Export.Pdf.Section.Signing Namespace / PdfSignature Class / Reason Property
Example

In This Topic
    Reason Property
    In This Topic
    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:

    • I am the author of this document
    • I have reviewed this document
    • I am approving this document
    • I attest to the accuracy and integrity of this document
    • I agree to the terms defined by the placement of my signature on this document
    • I agree to 'specified' portions of this document

    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