Estensioni di campo JavaScript

Estensioni di campo JavaScript

Estensioni di campo JavaScript

Il namespace Aspose.Pdf.Annotations.JavascriptExtensions contiene controparti gestite delle funzioni di formattazione AF_ di Acrobat JavaScript. Queste classi ti consentono di riprodurre la logica di visualizzazione dei campi PDF all’interno della tua applicazione .NET senza eseguire JavaScript.

FieldDateTimeFormatter è una classe statica — chiama Format direttamente sul tipo.
FieldNumberCurrencyFormatter e FieldNumberPercentFormatter sono classi regolari
— crea un’istanza, quindi chiama Format. Ogni metodo accetta gli stessi parametri della corrispondente funzione Acrobat JavaScript e restituisce una stringa formattata.


FieldDateTimeFormatter

FieldDateTimeFormatter formatta una stringa di data/ora grezza utilizzando un modello di formato data in stile Acrobat. Corrisponde alla funzione JavaScript AF_Date_Format.

Firma del metodo

public static string Format(string dateFormat, string dateValue)
ParameterTypeDescription
dateFormatstringModello di formato data in stile Acrobat (ad es. "mm/dd/yyyy")
dateValuestringStringa di data grezza da formattare

Esempio

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

Se il valore di input non può essere analizzato, il formattatore restituisce il valore originale invariato.


FieldNumberCurrencyFormatter

FieldNumberCurrencyFormatter formatta una stringa numerica come valore di valuta.
Corrisponde alla funzione JavaScript AF_Number_Format.

Firma del metodo

public string Format(
    int precision,
    int sepStyle,
    int negStyle,
    string currencySymbol,
    bool isPrependCurrency,
    string fieldValue)
ParametroTipoDescrizione
precisionintNumero di cifre decimali
sepStyleintStile del separatore delle migliaia (0 = virgola, 1 = nessuno, 2 = punto)
negStyleintStile dei numeri negativi (0 = meno, 1 = parentesi, 2 = rosso)
currencySymbolstringSimbolo anteposto o aggiunto (ad es. "$")
isPrependCurrencyboolQuando true il simbolo è anteposto; altrimenti aggiunto
fieldValuestringStringa numerica da formattare

Esempio

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 formatta una stringa numerica come percentuale, moltiplicando il valore per 100 prima di applicare il formato. Corrisponde alla funzione JavaScript AF_Percent_Format.

Firma del metodo

public string Format(
    int precision,
    int sepStyle,
    bool isPrependPercent,
    string fieldValue)
ParametroTipoDescrizione
precisionintNumero di cifre decimali
sepStyleintStile del separatore delle migliaia
isPrependPercentboolQuando true il simbolo % è anteposto; altrimenti è aggiunto
fieldValuestringStringa numerica da formattare (moltiplicata per 100)

Esempio

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%

Utilizzare i formattatori in un ciclo di elaborazione dei moduli

Il seguente modello applica la formattazione della valuta a tutti i valori dei campi di testo in un modulo 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}");
        }
    }
}

Vedi anche

 Italiano