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ètre | Type | Description |
|---|---|---|
dateFormat | string | Modèle de format de date de type Acrobat (par ex. "mm/dd/yyyy") |
dateValue | string | Chaî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/2026Si 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)| Parameter | Type | Description |
|---|---|---|
precision | int | Nombre de décimales |
sepStyle | int | Style du séparateur de milliers (0 = virgule, 1 = aucun, 2 = point) |
negStyle | int | Style des nombres négatifs (0 = moins, 1 = parenthèses, 2 = rouge) |
currencySymbol | string | Symbole préfixé ou suffixé (par ex. "$") |
isPrependCurrency | bool | Lorsque true le symbole est préfixé ; sinon suffixé |
fieldValue | string | Chaî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.50FieldNumberPercentFormatter
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ètre | Type | Description |
|---|---|---|
precision | int | Nombre de décimales |
sepStyle | int | Style du séparateur de milliers |
isPrependPercent | bool | Lorsque true le symbole % est préfixé ; sinon ajouté |
fieldValue | string | Chaî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}");
}
}
}