Extensions de champ JavaScript

Extensions de champ JavaScript

Extensions de champ JavaScript

L’espace de noms Aspose.Pdf.Annotations.JavascriptExtensions contient des homologues gérés des fonctions de formatage Acrobat JavaScript AF_. Ces classes vous permettent de reproduire la logique d’affichage des champs PDF dans votre application .NET sans exécuter JavaScript.

FieldDateTimeFormatter est une classe statique — appelez Format directement sur le type.
FieldNumberCurrencyFormatter et FieldNumberPercentFormatter sont des classes normales —
créez une instance, puis appelez Format. Chaque méthode accepte les mêmes
paramètres que la fonction JavaScript Acrobat correspondante et renvoie une
chaîne formatée.


FormateurDateHeureChamp

FieldDateTimeFormatter formate une chaîne de date/heure brute en utilisant un modèle de format de date de type Acrobat. Il correspond à la fonction JavaScript AF_Date_Format.

Signature de la méthode

public static string Format(string dateFormat, string dateValue)
ParamètreTypeDescription
dateFormatstringModèle de format de date de type Acrobat (par ex. "mm/dd/yyyy")
dateValuestringChaîne de date brute à formater

Exemple

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

Si la valeur d’entrée ne peut pas être analysée, le formateur renvoie la valeur d’origine inchangée.


FieldNumberCurrencyFormatter

FieldNumberCurrencyFormatter formate une chaîne numérique en tant que valeur monétaire. Il correspond à la fonction JavaScript AF_Number_Format.

Signature de la méthode

public string Format(
    int precision,
    int sepStyle,
    int negStyle,
    string currencySymbol,
    bool isPrependCurrency,
    string fieldValue)
ParameterTypeDescription
precisionintNombre de décimales
sepStyleintStyle du séparateur de milliers (0 = virgule, 1 = aucun, 2 = point)
negStyleintStyle des nombres négatifs (0 = moins, 1 = parenthèses, 2 = rouge)
currencySymbolstringSymbole préfixé ou suffixé (par ex. "$")
isPrependCurrencyboolLorsque true le symbole est préfixé ; sinon suffixé
fieldValuestringChaîne numérique à formater

Exemple

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 formate une chaîne numérique en pourcentage, en multipliant la valeur par 100 avant d’appliquer le format. Elle correspond à la fonction JavaScript AF_Percent_Format.

Signature de la méthode

public string Format(
    int precision,
    int sepStyle,
    bool isPrependPercent,
    string fieldValue)
ParamètreTypeDescription
precisionintNombre de décimales
sepStyleintStyle du séparateur de milliers
isPrependPercentboolLorsque true le symbole % est préfixé ; sinon ajouté
fieldValuestringChaîne numérique à formater (multipliée par 100)

Exemple

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%

Utilisation des formateurs dans une boucle de traitement de formulaire

Le modèle suivant applique le format monétaire à toutes les valeurs des champs texte d’un formulaire 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}");
        }
    }
}

Voir aussi

 Français