Here is C# code that demonstrates how to add digital signature with custom appearance to a PDF document:
using System.Drawing;
using System.Security.Cryptography.X509Certificates;
using Vintasoft.Imaging.Pdf;
using Vintasoft.Imaging.Pdf.Drawing;
using Vintasoft.Imaging.Pdf.Tree.Fonts;

/// <summary>
/// Adds visible digital signature with custom appearance to a PDF page.
/// </summary>
public class PdfPageDigitalSignatureHelper_CustomAppearance
{
    public static void Run()
    {
        // get the X509 certificate from .pfx-file
        using (X509Certificate2 certificate = new X509Certificate2("TestCertificate.pfx", "test"))
        {
            // create a helper that alows to add digital signature to a PDF document
            MyDigitalSignatureHelper digitalSignatureHelper =
                new MyDigitalSignatureHelper(certificate, new RectangleF(20, 20, 250, 100));

            // set the background color for signature
            digitalSignatureHelper.SignatureBackgoundColor = Color.Green;

            // set the reason for signing
            digitalSignatureHelper.SigningReason = "Approve document";

            // set text for signature appearance
            digitalSignatureHelper.SignatureText =
                string.Format("Digitally signed by\n{0}", digitalSignatureHelper.SignerName);

            // add digital signature to the first PDF page, sign PDF document and save PDF document to the output file
            digitalSignatureHelper.SignDocument("TestDocumentToSign.pdf", "TestDocumentToSign-signed.pdf", 0);
        }
    }

    public class MyDigitalSignatureHelper : PdfPageDigitalSignatureHelper
    {
        public MyDigitalSignatureHelper(X509Certificate2 certificate, RectangleF signatureRect)
            : base(certificate, signatureRect)
        {
        }

        /// <summary>
        /// Draws the text on signature appearance.
        /// </summary>
        /// <param name="graphics">The PDF graphics.</param>
        /// <param name="rect">The rectangle.</param>
        /// <param name="font">The text font.</param>
        /// <param name="text">The text do draw.</param>
        protected override void DrawSignatureAppearanceText(PdfGraphics graphics, RectangleF rect, PdfFont font, string text)
        {
            // create border pen
            PdfPen borderPen = new PdfPen(Color.Orange, 10);

            // draw border
            graphics.DrawRectangle(borderPen, rect);

            // padding
            rect.Inflate(-borderPen.Width * 2, -borderPen.Width * 2);

            // measure font size
            float fontSize = graphics.MeasureFontSize(text, font, rect.Width, rect.Height);

            // draw the signature text
            graphics.DrawString(text, font, fontSize, new PdfBrush(SignatureTextColor), rect, SignatureTextAlignment, false);
        }
    }
}