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)| Parameter | Type | Description |
|---|---|---|
dateFormat | string | Modello di formato data in stile Acrobat (ad es. "mm/dd/yyyy") |
dateValue | string | Stringa 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/2026Se 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)| Parametro | Tipo | Descrizione |
|---|---|---|
precision | int | Numero di cifre decimali |
sepStyle | int | Stile del separatore delle migliaia (0 = virgola, 1 = nessuno, 2 = punto) |
negStyle | int | Stile dei numeri negativi (0 = meno, 1 = parentesi, 2 = rosso) |
currencySymbol | string | Simbolo anteposto o aggiunto (ad es. "$") |
isPrependCurrency | bool | Quando true il simbolo è anteposto; altrimenti aggiunto |
fieldValue | string | Stringa 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.50FieldNumberPercentFormatter
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)| Parametro | Tipo | Descrizione |
|---|---|---|
precision | int | Numero di cifre decimali |
sepStyle | int | Stile del separatore delle migliaia |
isPrependPercent | bool | Quando true il simbolo % è anteposto; altrimenti è aggiunto |
fieldValue | string | Stringa 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}");
}
}
}