JavaScript-Felderweiterungen

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)
ParameterTypBeschreibung
dateFormatstringAcrobat-ähniges Datumsformatmuster (z. B. "mm/dd/yyyy")
dateValuestringRohdatumszeichenfolge zum Formatieren

Beispiel

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

Wenn 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)
ParameterTypBeschreibung
precisionintAnzahl der Dezimalstellen
sepStyleintTausendertrennzeichenstil (0 = Komma, 1 = keiner, 2 = Punkt)
negStyleintNegativzahlstil (0 = Minus, 1 = Klammern, 2 = Rot)
currencySymbolstringSymbol vorangestellt oder angehängt (z. B. "$")
isPrependCurrencyboolWenn true, wird das Symbol vorangestellt; sonst angehängt
fieldValuestringNumerische 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.50

FieldNumberPercentFormatter

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)
ParameterTypBeschreibung
precisionintAnzahl der Dezimalstellen
sepStyleintStil des Tausendertrennzeichens
isPrependPercentboolWenn true, wird das Symbol % vorangestellt; andernfalls angehängt
fieldValuestringNumerische 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}");
        }
    }
}

Siehe auch

 Deutsch