JavaScript Розширення полів

JavaScript Розширення полів

Розширення полів JavaScript

Простір імен Aspose.Pdf.Annotations.JavascriptExtensions містить керовані аналоги функцій форматування Acrobat JavaScript AF_. Ці класи дозволяють відтворювати логіку відображення полів PDF у вашому .NET застосунку без виконання JavaScript.

FieldDateTimeFormatter — це статичний клас — викликайте Format безпосередньо на типі.
FieldNumberCurrencyFormatter і FieldNumberPercentFormatter — звичайні
класи — створіть екземпляр, а потім викличте Format. Кожен метод приймає ті ж
параметри, що й відповідна функція Acrobat JavaScript, і повертає
форматований рядок.


FieldDateTimeFormatter

FieldDateTimeFormatter форматує рядок дати/часу у сирому вигляді, використовуючи шаблон формату дати в стилі Acrobat. Він відповідає JavaScript‑функції AF_Date_Format.

Підпис методу

public static string Format(string dateFormat, string dateValue)
ПараметрТипОпис
dateFormatstringШаблон дати у стилі Acrobat (наприклад, "mm/dd/yyyy")
dateValuestringНеоброблений рядок дати для форматування

Приклад

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

Якщо вхідне значення не може бути проаналізовано, форматувач повертає оригінальне значення без змін.


FieldNumberCurrencyFormatter

FieldNumberCurrencyFormatter форматує числовий рядок як валютне значення.
Він відповідає функції JavaScript AF_Number_Format.

Підпис методу

public string Format(
    int precision,
    int sepStyle,
    int negStyle,
    string currencySymbol,
    bool isPrependCurrency,
    string fieldValue)
ПараметрТипОпис
precisionintКількість десяткових знаків
sepStyleintСтиль розділювача тисяч (0 = кома, 1 = відсутній, 2 = крапка)
negStyleintСтиль від’ємного числа (0 = мінус, 1 = дужки, 2 = червоний)
currencySymbolstringСимвол, що додається перед або після (наприклад "$")
isPrependCurrencyboolКоли true, символ додається перед; інакше — після
fieldValuestringЧисловий рядок для форматування

Приклад

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 форматує числовий рядок як відсоток, множачи значення на 100 перед застосуванням формату. Це відповідає функції AF_Percent_Format JavaScript.

Підпис методу

public string Format(
    int precision,
    int sepStyle,
    bool isPrependPercent,
    string fieldValue)
ПараметрТипОпис
precisionintКількість десяткових знаків
sepStyleintСтиль роздільника тисяч
isPrependPercentboolКоли true, символ % додається на початок; інакше — в кінець
fieldValuestringЧисловий рядок для форматування (множиться на 100)

Приклад

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%

Використання форматерів у циклі обробки форми

Наступний шаблон застосовує форматування валюти до всіх значень текстових полів у формі 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}");
        }
    }
}

Див. також

 Українська