Skip to main content
All docs
V25.1
  • How to: Specify the Format of a Form Field Value

    • 4 minutes to read

    The following example describes how to specify the value format of the new form field. You can specify the format for the following form fields:

    Create Value Format

    Use the ValueFormat property to access the PdfAcroFormValueFormat object. Its methods allow you to specify the following formats:

    Format Method
    Number format PdfAcroFormValueFormat.CreateNumberFormat
    Date and Time format PdfAcroFormValueFormat.CreateDateTimeFormat
    PdfAcroFormValueFormat.CreateTimeFormat
    Percent format PdfAcroFormValueFormat.CreatePercentFormat
    Special format (postal codes, telephone numbers, etc.) PdfAcroFormValueFormat.CreateSpecialFormat

    The code sample below shows how to specify formats to different form fields:

    //Create a text box with a date value:
    var textBox = new PdfAcroFormTextBoxField("date", 1, new PdfRectangle(10, 20, 100, 50));
    textBox.ValueFormat = 
    PdfAcroFormValueFormat.CreateDateTimeFormat("mm/dd/yyyy");
    textBox.Text = "01/20/2020";
    
    //Create a text box with a monetary value:
    var numberBox = new PdfAcroFormTextBoxField("number", 1, new PdfRectangle(10, 70, 100, 100));
    numberBox.ValueFormat = 
    PdfAcroFormValueFormat.CreateNumberFormat(2, PdfAcroFormNumberSeparatorStyle.Dot, "$", PdfAcroFormCurrencyStyle.AfterWithSpace, PdfAcroFormNegativeNumberStyle.None);
    numberBox.Text = "264.88 $";
    
    //Create a text box with a postal code value:
    var specialBox = new PdfAcroFormTextBoxField("special", 1, new PdfRectangle(10, 120, 100, 150));
    specialBox.ValueFormat = 
    PdfAcroFormValueFormat.CreateSpecialFormat(PdfAcroFormSpecialFormatType.NineDigitZipCode);
    specialBox.Text = "3000856";
    

    Date and Time Format Codes

    You can use the following codes to specify date and time format:

    Code Description Sample Result
    d Displays the day as a number, 1 to 31 . 5
    dd Displays the day as a number, 01 to 31 . 05
    ddd Displays the 3-letter abbreviation for the day of the week according to the current culture. Fri
    dddd Displays the full day of the week according to the current culture. Friday
    m Displays the month as a number, 1 to 12. 6
    mm Displays the month as a number, 01 to 12. 06
    mmm Displays the 3-letter month abbreviation according to the current culture. Nov
    mmmm Displays the full month name according to the current culture. November
    yy Displays the 2-digit year. 20
    yyyy Displays 4-digit year. 2020
    h Displays the hour on 12-hour clock, 1 to 12 4
    hh Displays the hour on 12-hour clock, 01 to 12 04
    H Displays the hour on 24-hour clock, 0 to 23. 4 or 20
    HH Displays the hour on 24-hour clock, 00 to 23. 04 or 20
    M Displays minutes, 0 to 59. 8
    MM Displays minutes, 00 to 59. 08
    tt Displays time in am/pm notation. 04:20 am
    ss Displays seconds, 01 to 59. 05

    Use JavaScript to Specify Value Format

    The following PdfAcroFormValueFormat properties allow you to use JavaScript to define the value format:

    Note

    The scripts are in effect for PDF viewers that support JavaScript.

    The code sample below shows how create a text box and specify the value format using JavaScript:

    var scriptBox = 
    new PdfAcroFormTextBoxField("script", 1, new PdfRectangle(10, 170, 100, 200));
    scriptBox.ValueFormat = new PdfAcroFormValueFormat();
    
    //Specify a script that allows you to enter only numbers
    //in the "x-x-x" format:
    scriptBox.ValueFormat.FormatScript = "if (event.value != \"\") {" +
        "var value = event.value;    " +
        "event.value = \"\";    " +
        "for(var i = 0; i<value.length - 1; i++)" +
        "   event.value += value.charAt(i) + \"-\";" +
        "event.value += value.charAt(value.length - 1);}";
    scriptBox.ValueFormat.KeystrokeScript = "var re = /^[0-9]+$/;" +
        "if (event.value != \"\") {" +
        "   event.rc = re.test(event.value);" +
        "}";