Kā strādāt ar JavaScript paplašinājumiem .NET

Kā strādāt ar JavaScript paplašinājumiem .NET

Aspose.PDF FOSS for .NET ietver servera puses implementācijas PDF JavaScript AF_Date_Format, AF_Number_Format un AF_Percent_Format funkcijām, izmantojot FieldDateTimeFormatter, FieldNumberCurrencyFormatter un FieldNumberPercentFormatter klases. Instalējiet pakotni ar dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha un izmantojiet šīs klases, lai serverī formatētu AcroForm lauku vērtības, nepieprasot JavaScript dzini.

Rokasgrāmata soli pa solim

1. solis: instalēt pakotni

Pievienojiet Aspose.PDF FOSS savam projektam:

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

2. solis: Importēt nepieciešamās klases

using Aspose.Pdf.Annotations.JavascriptExtensions;

3. solis: Formatēt datuma/laika lauka vērtību

FieldDateTimeFormatter.Format(dateFormat, dateValue) pārvērš neapstrādātu datuma virkni atbilstoši Acrobat‑stila datuma formāta paraugam. Tas atbilst PDF JavaScript AF_Date_Format funkcijai.

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

Parametrs dateFormat izmanto Acrobat datuma formāta tokenus (piemēram, mm, dd, yyyy, HH, MM). Ja ievades dateValue nevar parsēt, metode atgriež tukšu virkni.


4. solis: Formātēt skaitlisko lauku kā valūtu

FieldNumberCurrencyFormatter.Format(precision, sepStyle, negStyle, currencySymbol, isPrependCurrency, fieldValue) formatē skaitlisku virkni kā valūtas vērtību. Tas atbilst PDF JavaScript AF_Number_Format funkcijai.

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

Parameters:

  • precision - decimālu vietu skaits
  • sepStyle - tūkstošu atdalītāja stils (0 = komats, 1 = punkts, 2 = nav)
  • negStyle - negatīvā skaitļa stils (0 = iekavas, 1 = mīnus prefikss)
  • currencySymbol - valūtas simbols kā virkne
  • isPrependCurrency - true, lai novietotu simbolu pirms skaitļa
  • fieldValue - neapstrādāta skaitliskā virkne, ko formatēt

5. solis: formatēt skaitlisko lauku kā procentu

FieldNumberPercentFormatter.Format(precision, sepStyle, isPrependPercent, fieldValue) formatē skaitlisku virkni kā procentu, sākotnēji reizinot neapstrādāto vērtību ar 100. Tas atbilst PDF JavaScript AF_Percent_Format funkcijai.

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

Parametri:

  • precision - ciparu skaits aiz decimālzīmes
  • sepStyle - tūkstošu atdalītāja stils (0 = komats, 1 = punkts, 2 = nav)
  • isPrependPercent - true, lai pievienotu % simbolu priekšā, false, lai pievienotu beigās
  • fieldValue - neapstrādāta skaitliskā virkne (formatētājs reizinā ar 100)

Biežas problēmas un risinājumi

FieldDateTimeFormatter atgriež tukšu virkni Tas notiek, ja dateValue arguments nevar tikt parsēts ar datuma modeli dateFormat. Acrobat datuma tokeni atšķiras no .NET DateTime formāta virkņu.

FieldNumberCurrencyFormatter izraisa nepareizu decimāldaļu atdalītāju Parametrs sepStyle kontrolē tūkstošu atdalītāju. Lai izmantotu punktu kā tūkstošu atdalītāju, nododiet sepStyle: 1.

FieldNumberPercentFormatter izvade ir 100 reizes pārāk liela
Formātētājs reizinā ievades vērtību ar 100. Ja jūsu fieldValue jau pārstāv procentus (piemēram, “87.5” nevis “0.875”), daliet ar 100 pirms izsaukt Format.

Namespace not found after package install Pārliecinieties, ka mērķējat net8.0 vai jaunāku. JavascriptExtensions namespace ir pieejama tikai Aspose.Pdf.Foss paketē.

NullReferenceException tukšā fieldValue Null vai tukša virkne kā fieldValue izraisīs parsēšanas izņēmumu. Pārbaudiet ievadi pirms izsaukt Format.

Biežāk uzdotie jautājumi

Ko nozīmē “corresponds to AF_Date_Format”?

PDF AcroForm JavaScript izmanto AF_Date_Format kā iebūvēto formatēšanas funkciju datuma laukiem. FieldDateTimeFormatter atkārto to pašu formatēšanas loģiku .NET pārvaldītā kodā, lai varētu izmantot tos pašus lauka formatēšanas virknes, neizpildot JavaScript.

Vai es varu izmantot šos formatētājus ārpus PDF dokumenta konteksta?

Jā. FieldDateTimeFormatter, FieldNumberCurrencyFormatter un FieldNumberPercentFormatter ir vienkāršas klases bez atkarības no Document instances. Jūs varat tās izmantot jebkurā .NET 8+ kontekstā kā utilītformētājus.

Kāda ir atšķirība starp FieldNumberCurrencyFormatter un FieldNumberPercentFormatter?

FieldNumberCurrencyFormatter formatē skaitli kā naudas summu bez reizināšanas. FieldNumberPercentFormatter reizinā ievadi ar 100 un pievieno vai pieprasa procenta simbolu sākumā vai beigās.

Vai ir veids, kā ķēdēt vairākus formatētājus?

Nav nodrošināta iebūvēta ķēde. Lietojiet formatētājus secīgi kodā.

Vai man ir vajadzīgs pilns PDF dokuments, lai izmantotu šīs klases?

Nē. Formātētāji darbojas ar vienkāršām virknēm un atgriež formatētas virknes. Viņiem nav nepieciešama atvērta Document instance.

Skatiet arī

 Latviešu