Kaip dirbti su JavaScript plėtiniais .NET

Kaip dirbti su JavaScript plėtiniais .NET

Aspose.PDF FOSS for .NET apima serverio pusės įgyvendinimus PDF JavaScript AF_Date_Format, AF_Number_Format ir AF_Percent_Format funkcijoms per FieldDateTimeFormatter, FieldNumberCurrencyFormatter ir FieldNumberPercentFormatter klases. Įdiekite paketą naudodami dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha ir naudokite šias klases formatuoti AcroForm laukų reikšmes serveryje, nereikalaujant JavaScript variklio.

Žingsnis po žingsnio vadovas

Žingsnis 1: Įdiekite paketą

Pridėkite Aspose.PDF FOSS į savo projektą:

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

2 žingsnis: Importuoti reikiamas klases

using Aspose.Pdf.Annotations.JavascriptExtensions;

Žingsnis 3: Formatuoti datos/laiko lauko reikšmę

FieldDateTimeFormatter.Format(dateFormat, dateValue) konvertuoja neapdorotą datos eilutę pagal Acrobat stiliaus datos formato šabloną. Tai atitinka PDF JavaScript AF_Date_Format funkciją.

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

Parametras dateFormat naudoja Acrobat datos formato žymenis (pvz., mm, dd, yyyy, HH, MM). Kai įvestis dateValue negali būti išanalizuota, metodas grąžina tuščią eilutę.


Žingsnis 4: Formatuoti skaitinį lauką kaip valiutą

FieldNumberCurrencyFormatter.Format(precision, sepStyle, negStyle, currencySymbol, isPrependCurrency, fieldValue) formatuoja skaitinę eilutę kaip valiutos reikšmę. Tai atitinka PDF JavaScript AF_Number_Format funkciją.

var currencyFormatter = new FieldNumberCurrencyFormatter();
string formatted = currencyFormatter.Format(
    precision: 2,
    sepStyle: 0,
    negStyle: 0,
    currencySymbol: "$",
    isPrependCurrency: true,
    fieldValue: "1234.5");
  • precision – dešimtainių skaitmenų skaičius
  • sepStyle – tūkstančių skyriklio stilius (0 = kablelis, 1 = taškas, 2 = nėra)
  • negStyle – neigiamo skaičiaus stilius (0 = skliaustai, 1 = minuso priešdėlis)
  • currencySymbol – valiutos simbolio eilutė
  • isPrependCurrency – true, jei norite simbolį padėti prieš skaičių
  • fieldValue – neapdorota skaitmenų eilutė formatavimui

Žingsnis 5: Formatuoti skaitinį lauką kaip procentą

FieldNumberPercentFormatter.Format(precision, sepStyle, isPrependPercent, fieldValue) formatuoja skaitinę eilutę kaip procentą, pirmiausia padaugindama neapdorotą reikšmę iš 100. Tai atitinka PDF JavaScript AF_Percent_Format funkciją.

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

Parametrai:

  • precision – skaitmenų po kablelio skaičius
  • sepStyle – tūkstančių skyriklio stilius (0 = kablelis, 1 = taškas, 2 = nėra)
  • isPrependPercent – true, jei reikia pridėti % ženklą prieš, false – jei po
  • fieldValue – neapdorota skaitinė eilutė (formatuotojas padaugina iš 100)

Bendros problemos ir sprendimai

FieldDateTimeFormatter grąžina tuščią eilutę
Tai įvyksta, kai dateValue argumentas negali būti išanalizuotas pagal datos šabloną dateFormat. Acrobat datos žymės skiriasi nuo .NET DateTime formatų eilutės.

FieldNumberCurrencyFormatter sukelia neteisingą dešimtainį skirtuką Parametras sepStyle valdo tūkstančių skirtuką. Norėdami naudoti tašką kaip tūkstančių skirtuką, perduokite sepStyle: 1.

FieldNumberPercentFormatter išvestis yra 100 kartų per didelė
Formatavimo priemonė padaugina įvesties reikšmę iš 100. Jei jūsų fieldValue jau atspindi procentą (pvz., “87.5” vietoj “0.875”), padalinkite iš 100 prieš iškviečiant Format.

Namespace not found after package install Įsitikinkite, kad taikote net8.0 arba naujesnę versiją. JavascriptExtensions vardų sritis yra prieinama tik Aspose.Pdf.Foss pakete.

NullReferenceException kai tuščias fieldValue
Perduodant null arba tuščią eilutę kaip fieldValue sukels analizės išimtį. Patikrinkite įvestį prieš iškviečiant Format.

Dažnai užduodami klausimai

Ką reiškia „corresponds to AF_Date_Format“?

PDF AcroForm JavaScript naudoja AF_Date_Format kaip įmontuotą formatavimo funkciją datos laukams. FieldDateTimeFormatter atkuria tą patį formatavimo logiką .NET valdomame kode, todėl galite taikyti tas pačias laukų formatų eilutes be JavaScript vykdymo.

Ar galiu naudoti šiuos formatavimo įrankius ne PDF dokumento kontekste?

Taip. FieldDateTimeFormatter, FieldNumberCurrencyFormatter ir FieldNumberPercentFormatter yra paprastos klasės, neturinčios priklausomybės nuo Document egzemplioriaus. Jas galite naudoti bet kuriame .NET 8+ kontekste kaip pagalbines formatavimo priemones.

Kuo skiriasi FieldNumberCurrencyFormatter ir FieldNumberPercentFormatter?

FieldNumberCurrencyFormatter formatuoja skaičių kaip piniginę sumą be daugybos. FieldNumberPercentFormatter padaugina įvestį iš 100 ir prideda arba įrašo procento simbolį.

Ar yra būdas susieti kelis formatavimo įrankius?

Nėra įmontuoto grandininimo. Formatuotojus taikykite nuosekliai kode.

Ar man reikia viso PDF dokumento, kad galėčiau naudoti šias klases?

Ne. Formatuotojai veikia su paprastomis eilutėmis ir grąžina suformatuotas eilutes. Jie nereikalauja atviros Document egzemplioriaus.

Žr. taip pat

 Lietuvių