Extensii de câmp JavaScript

Extensii de câmp JavaScript

Extensii de câmp JavaScript

Namespace-ul Aspose.Pdf.Annotations.JavascriptExtensions conține omologi gestionați pentru funcțiile de formatare AF_ din Acrobat JavaScript. Aceste clase vă permit să reproduceți logica de afișare a câmpurilor PDF în interiorul aplicației .NET fără a executa JavaScript.

FieldDateTimeFormatter este o clasă statică — apelați Format direct pe tip.
FieldNumberCurrencyFormatter și FieldNumberPercentFormatter sunt clase obișnuite
— creați o instanță, apoi apelați Format. Fiecare metodă acceptă aceiași parametri ca funcția corespunzătoare Acrobat JavaScript și returnează un șir formatat.


FieldDateTimeFormatter

FieldDateTimeFormatter formatează un șir brut de dată/oră utilizând un model de format de dată în stil Acrobat. Corespunde funcției JavaScript AF_Date_Format.

Semnătură metodă

public static string Format(string dateFormat, string dateValue)
ParametruTipDescriere
dateFormatstringModel de format de dată în stil Acrobat (de ex. "mm/dd/yyyy")
dateValuestringȘir brut de dată de formatat

Exemplu

using Aspose.Pdf.Annotations.JavascriptExtensions;
string result = FieldDateTimeFormatter.Format("mm/dd/yyyy", "2026-06-11");
Console.WriteLine(result); // 06/11/2026

Dacă valoarea de intrare nu poate fi analizată, formatatorul returnează valoarea originală nemodificată.


FieldNumberCurrencyFormatter

FieldNumberCurrencyFormatter formatează un șir numeric ca o valoare monetară.
Corespunde funcției JavaScript AF_Number_Format.

Semnătură metodă

public string Format(
    int precision,
    int sepStyle,
    int negStyle,
    string currencySymbol,
    bool isPrependCurrency,
    string fieldValue)
ParametruTipDescriere
precisionintNumăr de zecimale
sepStyleintStil separator de mii (0 = virgulă, 1 = niciunul, 2 = punct)
negStyleintStil număr negativ (0 = minus, 1 = paranteze, 2 = roșu)
currencySymbolstringSimbol adăugat la început sau la sfârșit (de ex. "$")
isPrependCurrencyboolCând true simbolul este adăugat la început; în caz contrar la sfârșit
fieldValuestringȘir numeric de formatat

Exemplu

using Aspose.Pdf.Annotations.JavascriptExtensions;
var formatter = new FieldNumberCurrencyFormatter();
string result = formatter.Format(
    precision: 2,
    sepStyle: 0,
    negStyle: 0,
    currencySymbol: "$",
    isPrependCurrency: true,
    fieldValue: "1234.5");
Console.WriteLine(result); // $1,234.50

FieldNumberPercentFormatter

FieldNumberPercentFormatter formatează un șir numeric ca procent, multiplicând valoarea cu 100 înainte de a aplica formatul. Corespunde funcției JavaScript AF_Percent_Format.

Semnătură metodă

public string Format(
    int precision,
    int sepStyle,
    bool isPrependPercent,
    string fieldValue)
ParametruTipDescriere
precisionintNumăr de zecimale
sepStyleintStil separator de mii
isPrependPercentboolCând true simbolul % este adăugat la început; în caz contrar este adăugat la sfârșit
fieldValuestringȘir numeric de formatat (înmulțit cu 100)

Exemplu

using Aspose.Pdf.Annotations.JavascriptExtensions;
var formatter = new FieldNumberPercentFormatter();
string result = formatter.Format(
    precision: 1,
    sepStyle: 0,
    isPrependPercent: false,
    fieldValue: "0.1234");
Console.WriteLine(result); // 12.3%

Utilizarea formatterelor într-o buclă de procesare a formularului

Următorul model aplică formatarea valutară pentru toate valorile câmpurilor de text dintr-un formular PDF:

using Aspose.Pdf;
using Aspose.Pdf.Annotations.JavascriptExtensions;
byte[] data = File.ReadAllBytes("form.pdf");
using var doc = Document.Open(data);
if (doc.Form is not null)
{
    var currencyFormatter = new FieldNumberCurrencyFormatter();
    foreach (var field in doc.Form.Fields)
    {
        if (field.Value is not null)
        {
            string formatted = currencyFormatter.Format(
                precision: 2,
                sepStyle: 0,
                negStyle: 0,
                currencySymbol: "$",
                isPrependCurrency: true,
                fieldValue: field.Value);
            Console.WriteLine($"{field.Name}: {formatted}");
        }
    }
}

Vezi și

 Română