Extensions de camp JavaScript

Extensions de camp JavaScript

Extensions de camp JavaScript

El espai de noms Aspose.Pdf.Annotations.JavascriptExtensions conté contrapartides gestionades de les funcions de formatació AF_ d’Acrobat JavaScript. Aquestes classes us permeten reproduir la lògica de visualització de camps PDF dins de la vostra aplicació .NET sense executar JavaScript.

FieldDateTimeFormatter és una classe estàtica — crida Format directament al tipus.
FieldNumberCurrencyFormatter i FieldNumberPercentFormatter són regulars
classes — crea una instància, i després crida Format. Cada mètode accepta els mateixos paràmetres que la funció corresponent d’Acrobat JavaScript i retorna una cadena formatada.


FieldDateTimeFormatter

FieldDateTimeFormatter formata una cadena de data/hora en brut utilitzant un patró de format de data d’estil Acrobat. Correspon a la funció JavaScript AF_Date_Format.

Signatura del mètode

public static string Format(string dateFormat, string dateValue)
ParàmetreTipusDescripció
dateFormatstringPatró de format de data d’estil Acrobat (p. ex. "mm/dd/yyyy")
dateValuestringCadena de data en brut a formatar

Exemple

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

Si el valor d’entrada no es pot analitzar, el formatador retorna el valor original sense canvis.


FieldNumberCurrencyFormatter

FieldNumberCurrencyFormatter formata una cadena numèrica com a valor de moneda. Correspon a la funció JavaScript AF_Number_Format.

Signatura del mètode

public string Format(
    int precision,
    int sepStyle,
    int negStyle,
    string currencySymbol,
    bool isPrependCurrency,
    string fieldValue)
ParàmetreTipusDescripció
precisionintNombre de decimals
sepStyleintEstil del separador de milers (0 = coma, 1 = cap, 2 = punt)
negStyleintEstil de nombre negatiu (0 = menys, 1 = parèntesis, 2 = vermell)
currencySymbolstringSímbol afegit al principi o al final (p. ex. "$")
isPrependCurrencyboolQuan true el símbol s’afegeix al principi; en cas contrari al final
fieldValuestringCadena numèrica a formatar

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 formata una cadena numèrica com a percentatge, multiplicant el valor per 100 abans d’aplicar el format. Correspon a la funció JavaScript AF_Percent_Format.

Signatura del mètode

public string Format(
    int precision,
    int sepStyle,
    bool isPrependPercent,
    string fieldValue)
ParàmetreTipusDescripció
precisionintNombre de decimals
sepStyleintEstil del separador de milers
isPrependPercentboolQuan true el símbol % s’afegeix al principi; en cas contrari s’afegeix al final
fieldValuestringCadena numèrica a formatar (multiplicada per 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%

Ús de formatadors en un bucle de processament de formularis

El patró següent aplica format de moneda a tots els valors dels camps de text en un formulari 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}");
        }
    }
}

Vegeu també

 Català