Rozszerzenia pól JavaScript
JavaScript Rozszerzenia pól
Przestrzeń nazw Aspose.Pdf.Annotations.JavascriptExtensions zawiera zarządzane odpowiedniki funkcji formatowania Acrobat JavaScript AF_. Te klasy pozwalają odtworzyć logikę wyświetlania pól PDF w aplikacji .NET bez wykonywania JavaScript.
FieldDateTimeFormatter jest klasą statyczną — wywołaj Format bezpośrednio na typie.FieldNumberCurrencyFormatter i FieldNumberPercentFormatter są zwykłymi
klasami — utwórz instancję, a następnie wywołaj Format. Każda metoda przyjmuje te same
parametry jako odpowiadająca funkcja Acrobat JavaScript i zwraca
sformatowany ciąg znaków.
FieldDateTimeFormatter
FieldDateTimeFormatter formatuje surowy ciąg daty/godziny przy użyciu wzorca formatu daty w stylu Acrobat. Odpowiada funkcji JavaScript AF_Date_Format.
Sygnatura metody
public static string Format(string dateFormat, string dateValue)| Parametr | Typ | Opis |
|---|---|---|
dateFormat | string | Wzorzec formatu daty w stylu Acrobat (np. "mm/dd/yyyy") |
dateValue | string | Surowy ciąg daty do sformatowania |
Przykład
using Aspose.Pdf.Annotations.JavascriptExtensions;
string result = FieldDateTimeFormatter.Format("mm/dd/yyyy", "2026-06-11");
Console.WriteLine(result); // 06/11/2026Jeśli nie można sparsować wartości wejściowej, formatator zwraca oryginalną wartość niezmienioną.
FieldNumberCurrencyFormatter
FieldNumberCurrencyFormatter formatuje ciąg liczbowy jako wartość walutową. Odpowiada funkcji JavaScript AF_Number_Format.
Sygnatura metody
public string Format(
int precision,
int sepStyle,
int negStyle,
string currencySymbol,
bool isPrependCurrency,
string fieldValue)| Parametr | Typ | Opis |
|---|---|---|
precision | int | Liczba miejsc dziesiętnych |
sepStyle | int | Styl separatora tysięcy (0 = przecinek, 1 = brak, 2 = kropka) |
negStyle | int | Styl liczby ujemnej (0 = minus, 1 = nawiasy, 2 = czerwony) |
currencySymbol | string | Symbol poprzedzający lub następujący (np. "$") |
isPrependCurrency | bool | Gdy true symbol jest poprzedzający; w przeciwnym razie następujący |
fieldValue | string | Ciąg liczbowy do sformatowania |
Przykład
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 formatuje ciąg liczbowy jako procent, mnożąc wartość przez 100 przed zastosowaniem formatu. Odpowiada funkcji JavaScript AF_Percent_Format.
Sygnatura metody
public string Format(
int precision,
int sepStyle,
bool isPrependPercent,
string fieldValue)| Parameter | Type | Description |
|---|---|---|
precision | int | Liczba miejsc dziesiętnych |
sepStyle | int | Styl separatora tysięcy |
isPrependPercent | bool | Gdy true, symbol % jest wstawiany na początek; w przeciwnym razie na koniec |
fieldValue | string | Ciąg liczbowy do formatowania (pomnożony przez 100) |
Przykład
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%Używanie formaterów w pętli przetwarzania formularzy
Poniższy wzorzec stosuje formatowanie waluty do wszystkich wartości pól tekstowych w formularzu 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}");
}
}
}