Hogyan dolgozzunk JavaScript kiterjesztésekkel a .NET-ben

Hogyan dolgozzunk JavaScript kiterjesztésekkel a .NET-ben

Aspose.PDF FOSS for .NET tartalmaz szerveroldali megvalósításokat a PDF JavaScript AF_Date_Format, AF_Number_Format és AF_Percent_Format függvényekhez a FieldDateTimeFormatter, FieldNumberCurrencyFormatter és FieldNumberPercentFormatter osztályokon keresztül. Telepítse a csomagot a dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha segítségével, és használja ezeket az osztályokat az AcroForm mezőértékek szerveren történő formázásához JavaScript motor nélkül.

Lépésről‑lépésre útmutató

1. lépés: A csomag telepítése

Adja hozzá az Aspose.PDF FOSS-t a projektjéhez:

dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha

2. lépés: Szükséges osztályok importálása

using Aspose.Pdf.Annotations.JavascriptExtensions;

3. lépés: Dátum/idő mezőérték formázása

FieldDateTimeFormatter.Format(dateFormat, dateValue) nyers dátumkarakterláncot konvertál egy Acrobat‑stílusú dátumformátum‑minta szerint. Ez megfelel a PDF JavaScript AF_Date_Format függvénynek.

string formatted = FieldDateTimeFormatter.Format("mm/dd/yyyy", "2026-06-11");

A dateFormat paraméter az Acrobat dátumformátum tokeneket használja (például mm, dd, yyyy, HH, MM). Ha a bemeneti dateValue nem értelmezhető, a metódus üres karakterláncot ad vissza.


4. lépés: Numerikus mező formázása pénznemként

FieldNumberCurrencyFormatter.Format(precision, sepStyle, negStyle, currencySymbol, isPrependCurrency, fieldValue) formáz egy numerikus karakterláncot pénznemértékként. Ez megfelel a PDF JavaScript AF_Number_Format függvénynek.

var currencyFormatter = new FieldNumberCurrencyFormatter();
string formatted = currencyFormatter.Format(
    precision: 2,
    sepStyle: 0,
    negStyle: 0,
    currencySymbol: "$",
    isPrependCurrency: true,
    fieldValue: "1234.5");

Parameters:

  • precision - tizedesjegyek száma
  • sepStyle - ezres elválasztó stílusa (0 = vessző, 1 = pont, 2 = nincs)
  • negStyle - negatív szám stílusa (0 = zárójelek, 1 = mínusz előtag)
  • currencySymbol - a pénznem szimbólum karakterlánca
  • isPrependCurrency - igaz, ha a szimbólumot a szám elé kell helyezni
  • fieldValue - a formázandó nyers numerikus karakterlánc

5. lépés: Numerikus mező formázása százalékos értékként

FieldNumberPercentFormatter.Format(precision, sepStyle, isPrependPercent, fieldValue) formáz egy numerikus karakterláncot százalékos értékként, először a nyers értéket 100-zal megszorozva. Ez megfelel a PDF JavaScript AF_Percent_Format függvénynek.

var percentFormatter = new FieldNumberPercentFormatter();
string formatted = percentFormatter.Format(
    precision: 1,
    sepStyle: 0,
    isPrependPercent: false,
    fieldValue: "0.875");

Parameters:

  • precision - a tizedespont után lévő tizedesjegyek száma
  • sepStyle - ezreselválasztó stílusa (0 = vessző, 1 = pont, 2 = nincs)
  • isPrependPercent - true, ha a % jelet előre kell tenni, false, ha a végére
  • fieldValue - a nyers numerikus karakterlánc (a formázó 100-zal szoroz)

Általános problémák és megoldások

FieldDateTimeFormatter üres karakterláncot ad vissza
Ez akkor fordul elő, amikor a dateValue argumentumot nem lehet értelmezni a dateFormat dátummintája szerint. Az Acrobat dátumjelek eltérnek a .NET DateTime formátumkarakterláncoktól.

FieldNumberCurrencyFormatter hibás tizedes elválasztót állít elő
A sepStyle paraméter szabályozza az ezreselválasztót. A pont ezreselválasztóként való használatához adja át a sepStyle: 1 paramétert.

FieldNumberPercentFormatter output is 100x too large A formázó a bemeneti értéket 100-zal szorozza. Ha a fieldValue már százalékot ábrázol (például “87.5” a “0.875” helyett), oszd el 100-zal a Format hívása előtt.

Namespace not found after package install Győződjön meg arról, hogy a net8.0 vagy újabb verziót célozza. A JavascriptExtensions névtér csak az Aspose.Pdf.Foss csomagban érhető el.

NullReferenceException üres fieldValue esetén
A null vagy üres karakterlánc átadása fieldValue‑ként parse kivételt okoz. Ellenőrizze a bemenetet a Format hívása előtt.

Gyakran Ismételt Kérdések

Mit jelent a „corresponds to AF_Date_Format”?

A PDF AcroForm JavaScript az AF_Date_Format beépített formázó függvényt használja a dátummezők formázásához. FieldDateTimeFormatter ugyanazt a formázási logikát valósítja meg .NET managed kódban, így ugyanazokat a mezőformátum-karakterláncokat alkalmazhatja JavaScript végrehajtása nélkül.

Használhatom ezeket a formázókat a PDF dokumentum kontextusán kívül?

Igen. FieldDateTimeFormatter, FieldNumberCurrencyFormatter és FieldNumberPercentFormatter egyszerű osztályok, amelyek nem függnek egy Document példánytól. Használhatja őket bármilyen .NET 8+ környezetben segédformázóként.

Mi a különbség a FieldNumberCurrencyFormatter és a FieldNumberPercentFormatter között?

FieldNumberCurrencyFormatter formáz egy számot pénzösszegként szorzás nélkül. FieldNumberPercentFormatter szorozza a bemenetet 100-zal, és hozzáfűzi vagy eléhelyezi a százalékjelet.

Van mód több formázó láncolására?

Nincs beépített láncolás. Alkalmazza a formázókat sorban a kódban.

Szükségem van a teljes PDF dokumentumra ahhoz, hogy ezeket az osztályokat használjam?

Nem. A formázók egyszerű karakterláncokon működnek, és formázott karakterláncokat adnak vissza. Nem igényelnek nyitott Document példányt.

Lásd még

 Magyar