Tiện ích mở rộng trường JavaScript

Tiện ích mở rộng trường JavaScript

Mở rộng Trường JavaScript

Namespace Aspose.Pdf.Annotations.JavascriptExtensions chứa các đối tượng quản lý
tương đương với các hàm định dạng Acrobat JavaScript AF_.
Các lớp này
cho phép bạn tái tạo logic hiển thị trường PDF trong ứng dụng .NET của mình mà không
thực thi JavaScript.

FieldDateTimeFormatter là một lớp tĩnh — gọi Format trực tiếp trên kiểu.
FieldNumberCurrencyFormatterFieldNumberPercentFormatter là các lớp
thông thường — tạo một thể hiện, sau đó gọi Format. Mỗi phương thức chấp nhận cùng
các tham số như hàm Acrobat JavaScript tương ứng và trả về một
chuỗi đã định dạng.


FieldDateTimeFormatter

FieldDateTimeFormatter định dạng một chuỗi ngày/giờ thô bằng mẫu định dạng ngày kiểu Acrobat. Nó tương ứng với hàm JavaScript AF_Date_Format.

Chữ ký phương thức

public static string Format(string dateFormat, string dateValue)
Tham sốKiểuMô tả
dateFormatstringMẫu định dạng ngày kiểu Acrobat (ví dụ "mm/dd/yyyy")
dateValuestringChuỗi ngày thô để định dạng

Ví dụ

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

Nếu giá trị đầu vào không thể phân tích, bộ định dạng sẽ trả về giá trị gốc không thay đổi.


FieldNumberCurrencyFormatter

FieldNumberCurrencyFormatter định dạng một chuỗi số thành giá trị tiền tệ. Nó tương ứng với hàm JavaScript AF_Number_Format.

Chữ ký phương thức

public string Format(
    int precision,
    int sepStyle,
    int negStyle,
    string currencySymbol,
    bool isPrependCurrency,
    string fieldValue)
Tham sốKiểuMô tả
precisionintSố chữ số thập phân
sepStyleintKiểu dấu phân cách hàng nghìn (0 = dấu phẩy, 1 = không, 2 = dấu chấm)
negStyleintKiểu số âm (0 = dấu trừ, 1 = ngoặc đơn, 2 = màu đỏ)
currencySymbolstringKý hiệu được đặt trước hoặc sau (ví dụ "$")
isPrependCurrencyboolKhi true ký hiệu được đặt trước; nếu không sẽ đặt sau
fieldValuestringChuỗi số để định dạng

Ví dụ

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

Trình định dạng phần trăm số trường

FieldNumberPercentFormatter định dạng một chuỗi số dưới dạng phần trăm, nhân giá trị lên 100 trước khi áp dụng định dạng. Nó tương ứng với hàm JavaScript AF_Percent_Format.

Chữ ký phương thức

public string Format(
    int precision,
    int sepStyle,
    bool isPrependPercent,
    string fieldValue)
ParameterTypeDescription
precisionintSố chữ số thập phân
sepStyleintKiểu dấu phân cách hàng nghìn
isPrependPercentboolKhi true ký hiệu % được đặt trước; nếu không thì đặt sau
fieldValuestringChuỗi số để định dạng (nhân với 100)

Ví dụ

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%

Sử dụng các bộ định dạng trong vòng lặp xử lý biểu mẫu

Mẫu sau áp dụng định dạng tiền tệ cho tất cả các giá trị trường văn bản trong một biểu mẫu 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}");
        }
    }
}

Xem thêm

 Tiếng Việt