افزونه‌های فیلد 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)
ParameterTypeDescription
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 یک رشته عددی را به صورت درصد قالب‌بندی می‌کند، مقدار را قبل از اعمال قالب در ۱۰۰ ضرب می‌کند. این متناظر با تابع AF_Percent_Format در JavaScript است.

امضای متد

public string Format(
    int precision,
    int sepStyle,
    bool isPrependPercent,
    string fieldValue)
ParameterTypeDescription
precisionintتعداد ارقام اعشار
sepStyleintسبک جداکنندهٔ هزارگان
isPrependPercentboolزمانی که true نماد % در ابتدا اضافه می‌شود؛ در غیر این صورت در انتها اضافه می‌شود
fieldValuestringرشته عددی برای قالب‌بندی (ضرب در ۱۰۰)

مثال

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}");
        }
    }
}

همچنین ببینید

 فارسی