JavaScript Rozšíření polí
JavaScript Rozšíření polí
Prostor názvů Aspose.Pdf.Annotations.JavascriptExtensions obsahuje spravované protějšky funkcí formátování Acrobat JavaScript AF_. Tyto třídy vám umožní reprodukovat logiku zobrazení polí PDF ve vaší .NET aplikaci bez spouštění JavaScriptu.
FieldDateTimeFormatter je statická třída — zavolejte Format přímo na typu.FieldNumberCurrencyFormatter a FieldNumberPercentFormatter jsou běžné
třídy — vytvořte instanci a poté zavolejte Format. Každá metoda přijímá stejné
parametry jako odpovídající funkce Acrobat JavaScript a vrací
formátovaný řetězec.
FieldDateTimeFormatter
FieldDateTimeFormatter formátuje surový řetězec data/času pomocí vzoru formátu data ve stylu Acrobat. Odpovídá funkci JavaScript AF_Date_Format.
Podpis metody
public static string Format(string dateFormat, string dateValue)| Parametr | Typ | Popis |
|---|---|---|
dateFormat | string | Formát vzoru data ve stylu Acrobat (např. "mm/dd/yyyy") |
dateValue | string | Surový řetězec data k formátování |
Příklad
using Aspose.Pdf.Annotations.JavascriptExtensions;
string result = FieldDateTimeFormatter.Format("mm/dd/yyyy", "2026-06-11");
Console.WriteLine(result); // 06/11/2026Pokud nelze vstupní hodnotu analyzovat, formátovač vrátí původní hodnotu beze změny.
FieldNumberCurrencyFormatter
FieldNumberCurrencyFormatter formátuje číselný řetězec jako měnovou hodnotu. Odpovídá funkci JavaScript AF_Number_Format.
Podpis metody
public string Format(
int precision,
int sepStyle,
int negStyle,
string currencySymbol,
bool isPrependCurrency,
string fieldValue)| Parameter | Type | Description |
|---|---|---|
precision | int | Počet desetinných míst |
sepStyle | int | Styl oddělovače tisíců (0 = čárka, 1 = žádný, 2 = tečka) |
negStyle | int | Styl záporných čísel (0 = mínus, 1 = závorky, 2 = červená) |
currencySymbol | string | Symbol přidaný před nebo za (např. "$") |
isPrependCurrency | bool | Když true, je symbol přidán před; jinak za |
fieldValue | string | Číselný řetězec k formátování |
Příklad
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 formátuje číselný řetězec jako procenta, přičemž před použitím formátu vynásobí hodnotu 100. Odpovídá funkci JavaScript AF_Percent_Format.
Podpis metody
public string Format(
int precision,
int sepStyle,
bool isPrependPercent,
string fieldValue)| Parametr | Typ | Popis |
|---|---|---|
precision | int | Počet desetinných míst |
sepStyle | int | Styl oddělovače tisíců |
isPrependPercent | bool | Když true, je symbol % připojen na začátek; jinak na konec |
fieldValue | string | Číselný řetězec k formátování (vynásobený 100) |
Příklad
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%Používání formátovačů v cyklu zpracování formuláře
Následující vzor použije formátování měny na všechny hodnoty textových polí v PDF formuláři:
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}");
}
}
}