JavaScript フィールド拡張
JavaScript フィールド拡張
Aspose.Pdf.Annotations.JavascriptExtensions 名前空間には、Acrobat JavaScript AF_ 書式設定関数に対応するマネージド クラスが含まれています。これらのクラスを使用すると、JavaScript を実行せずに .NET アプリケーション内で PDF フィールド表示ロジックを再現できます。
FieldDateTimeFormatter は静的クラスです — 型に対して直接 Format を呼び出します。FieldNumberCurrencyFormatter と FieldNumberPercentFormatter は通常の
クラス — インスタンスを作成し、Format を呼び出します。各メソッドは同じ
パラメータを受け取り、対応する Acrobat JavaScript 関数と同様に、フォーマットされた文字列を返します。
FieldDateTimeFormatter
FieldDateTimeFormatter は、Acrobat スタイルの日時書式パターンを使用して、生の日付/時刻文字列をフォーマットします。これは AF_Date_Format JavaScript 関数に対応しています。
メソッドシグネチャ
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 は数値文字列を通貨値としてフォーマットします。 それは AF_Number_Format JavaScript 関数に対応しています。
メソッドシグネチャ
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.50フィールド数値パーセントフォーマッタ
FieldNumberPercentFormatter は数値文字列をパーセンテージとしてフォーマットし、フォーマットを適用する前に値を 100 倍します。これは AF_Percent_Format JavaScript 関数に対応します。
メソッドシグネチャ
public string Format(
int precision,
int sepStyle,
bool isPrependPercent,
string fieldValue)| Parameter | Type | Description |
|---|---|---|
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}");
}
}
}