امتدادات الحقول 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 ينسق سلسلة رقمية كنسبة مئوية، مضاعفًا القيمة بمقدار 100 قبل تطبيق التنسيق. وهو يتطابق مع دالة JavaScript AF_Percent_Format.

توقيع الطريقة

public string Format(
    int precision,
    int sepStyle,
    bool isPrependPercent,
    string fieldValue)
ParameterTypeDescription
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}");
        }
    }
}

انظر أيضًا

 العربية