JavaScript-Felderweiterungen
JavaScript-Feld-Erweiterungen
Der Aspose.Pdf.Annotations.JavascriptExtensions Namespace enthält verwaltete Gegenstücke zu den Acrobat JavaScript AF_ Formatierungsfunktionen. Diese Klassen ermöglichen es Ihnen, die PDF‑Feldanzeigelogik in Ihrer .NET‑Anwendung nachzubilden, ohne JavaScript auszuführen.
FieldDateTimeFormatter ist eine statische Klasse — rufen Sie Format direkt auf dem Typ auf.FieldNumberCurrencyFormatter und FieldNumberPercentFormatter sind reguläre
Klassen — erstellen Sie eine Instanz, dann rufen Sie Format auf. Jede Methode akzeptiert dieselben
Parameter wie die entsprechende Acrobat JavaScript‑Funktion und gibt einen
formatierten String zurück.
FieldDateTimeFormatter
FieldDateTimeFormatter formatiert einen rohen Datums-/Uhrzeit-String mithilfe eines Acrobat‑artigen Datumsformatmusters. Es entspricht der AF_Date_Format JavaScript‑Funktion.
Methodensignatur
public static string Format(string dateFormat, string dateValue)| Parameter | Typ | Beschreibung |
|---|---|---|
dateFormat | string | Acrobat-ähniges Datumsformatmuster (z. B. "mm/dd/yyyy") |
dateValue | string | Rohdatumszeichenfolge zum Formatieren |
Beispiel
using Aspose.Pdf.Annotations.JavascriptExtensions;
string result = FieldDateTimeFormatter.Format("mm/dd/yyyy", "2026-06-11");
Console.WriteLine(result); // 06/11/2026Wenn der Eingabewert nicht geparst werden kann, gibt der Formatter den ursprünglichen Wert unverändert zurück.
FieldNumberCurrencyFormatter
FieldNumberCurrencyFormatter formatiert einen numerischen String als Währungswert. Es entspricht der AF_Number_Format JavaScript-Funktion.
Methodensignatur
public string Format(
int precision,
int sepStyle,
int negStyle,
string currencySymbol,
bool isPrependCurrency,
string fieldValue)| Parameter | Typ | Beschreibung |
|---|---|---|
precision | int | Anzahl der Dezimalstellen |
sepStyle | int | Tausendertrennzeichenstil (0 = Komma, 1 = keiner, 2 = Punkt) |
negStyle | int | Negativzahlstil (0 = Minus, 1 = Klammern, 2 = Rot) |
currencySymbol | string | Symbol vorangestellt oder angehängt (z. B. "$") |
isPrependCurrency | bool | Wenn true, wird das Symbol vorangestellt; sonst angehängt |
fieldValue | string | Numerische Zeichenkette zum Formatieren |
Beispiel
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 formatiert einen numerischen String als Prozentsatz, indem der Wert vor dem Anwenden des Formats mit 100 multipliziert wird. Es entspricht der AF_Percent_Format JavaScript‑Funktion.
Methodensignatur
public string Format(
int precision,
int sepStyle,
bool isPrependPercent,
string fieldValue)| Parameter | Typ | Beschreibung |
|---|---|---|
precision | int | Anzahl der Dezimalstellen |
sepStyle | int | Stil des Tausendertrennzeichens |
isPrependPercent | bool | Wenn true, wird das Symbol % vorangestellt; andernfalls angehängt |
fieldValue | string | Numerische Zeichenkette zum Formatieren (mit 100 multipliziert) |
Beispiel
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%Verwendung von Formatierern in einer Formularverarbeitungsschleife
Das folgende Muster wendet die Währungsformatierung auf alle Textfeldwerte in einem PDF-Formular an:
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}");
}
}
}