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)| Параметр | Тип | Опис |
|---|---|---|
dateFormat | string | Шаблон дати у стилі Acrobat (наприклад, "mm/dd/yyyy") |
dateValue | string | Необроблений рядок дати для форматування |
Приклад
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)| Параметр | Тип | Опис |
|---|---|---|
precision | int | Кількість десяткових знаків |
sepStyle | int | Стиль розділювача тисяч (0 = кома, 1 = відсутній, 2 = крапка) |
negStyle | int | Стиль від’ємного числа (0 = мінус, 1 = дужки, 2 = червоний) |
currencySymbol | string | Символ, що додається перед або після (наприклад "$") |
isPrependCurrency | bool | Коли true, символ додається перед; інакше — після |
fieldValue | string | Числовий рядок для форматування |
Приклад
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 форматує числовий рядок як відсоток, множачи значення на 100 перед застосуванням формату. Це відповідає функції AF_Percent_Format JavaScript.
Підпис методу
public string Format(
int precision,
int sepStyle,
bool isPrependPercent,
string fieldValue)| Параметр | Тип | Опис |
|---|---|---|
precision | int | Кількість десяткових знаків |
sepStyle | int | Стиль роздільника тисяч |
isPrependPercent | bool | Коли true, символ % додається на початок; інакше — в кінець |
fieldValue | string | Числовий рядок для форматування (множиться на 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}");
}
}
}