Kako raditi s JavaScript proširenja u .NET-u
Aspose.PDF FOSS for .NET includes server-side implementations of the PDF JavaScript AF_Date_Format, AF_Number_Format, and AF_Percent_Format functions via the FieldDateTimeFormatter, FieldNumberCurrencyFormatter, i FieldNumberPercentFormatter Instalirajte paket s: dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha i koristiti ove klase za formatiranje vrijednosti polja AcroForm na poslužitelju bez potrebe JavaScript motora.
Korak po korak vodič
Korak 1: Instaliraj paket
Dodajte Aspose.PDF FOSS u svoj projekt:
dotnet add package Aspose.Pdf.Foss --version 0.1.0-alphaKorak 2: Uvoz zahtjevnih klasa
using Aspose.Pdf.Annotations.JavascriptExtensions;Korak 3: Formatiranje vrijednosti polja datuma/vremena
FieldDateTimeFormatter.Format(dateFormat, dateValue) pretvara string datuma prema Acrobat-style formatu datuma. To odgovara PDF JavaScript AF_Date_Format funkciji.
string formatted = FieldDateTimeFormatter.Format("mm/dd/yyyy", "2026-06-11");U skladu s člankom 1. dateFormat U ovom slučaju, ako je to moguće, potrebno je upotrijebiti sljedeće:., mm, dd, yyyy, HH, MM) Kada je ulazna dateValue Ne može se analizirati, metoda vraća prazan niz.
Korak 4: Formatiranje numeričkog polja kao valute
FieldNumberCurrencyFormatter.Format(precision, sepStyle, negStyle, currencySymbol, isPrependCurrency, fieldValue) formatira brojni niz kao vrijednost valute. To odgovara funkciji PDF JavaScript AF_Number_Format.
var currencyFormatter = new FieldNumberCurrencyFormatter();
string formatted = currencyFormatter.Format(
precision: 2,
sepStyle: 0,
negStyle: 0,
currencySymbol: "$",
isPrependCurrency: true,
fieldValue: "1234.5");Uređenje:
precision- broj decimalnih mjestasepStyle- stil razdvajivača tisuća (0 = tačka, 1 = točka i 2 = ništa)negStyle- negativni broj stil (0 = zagrade, 1 = minus prefiks)currencySymbol- valutu simbola nizisPrependCurrency- da se simbol stavi prije broja.fieldValue- prvu brojnu nizku za formatiranje
Korak 5: Formatiranje numeričkog polja kao postotak
FieldNumberPercentFormatter.Format(precision, sepStyle, isPrependPercent, fieldValue) formatira brojni niz kao postotak, množavajući prvu vrijednost s 100. To odgovara PDF JavaScript AF_Percent_Format funkciji.
var percentFormatter = new FieldNumberPercentFormatter();
string formatted = percentFormatter.Format(
precision: 1,
sepStyle: 0,
isPrependPercent: false,
fieldValue: "0.875");Uređenje:
precision- broj decimalnih mjesta nakon desetničke točkesepStyle- stil razdvajivača tisuća (0 = tačka, 1 = točka i 2 = ništa)isPrependPercent- istinito za početak simbola %, lažno za dodatakfieldValue- neobrađeni brojni niz (formatač množi sa 100)
Česta pitanja i rješenja
FieldDateTimeFormatter vraća prazan niz podataka To se događa kada je dateValue argument ne može biti analizirana po datumu obrazac u dateFormat. Acrobat datum žetoni razlikuju se od NET DateTime format strings.
FieldNumberCurrencyFormatter proizvodi pogrešan decimalni razdvajač U skladu s člankom 1. sepStyle Da biste koristili tačku kao razdvalitelj tisuća, prolazite: sepStyle: 1.
Izlaz materijala je 100x prevelik Formater množi ulazne vrijednosti za 100. Ako vaš fieldValue U ovom slučaju, ako je to već slučaj, podelite brojku za 100 prije nego što pozovete Format.
Ne pronađen prostor za ime nakon instalacije paketa Uverite se da ciljate na net8.0 ili noviji. JavascriptExtensions prostor imena je dostupan samo u paketu Aspose.Pdf.Foss .
NullReferenceIzuzetak na prazno poljeValue Prenositi null ili prazan niz kao: fieldValue provesti će iznimku za analizu. Potvrdite ulaz prije nego što pozovete Format.
Česta pitanja
Što znači “odgovara AF_Date_Format”?
PDF AcroForm JavaScript koristi AF_Date_Format kao ugrađenu funkciju oblikovanja za polja datuma. FieldDateTimeFormatter replicira istu formataciju logike u .NET upravljanoj kodu tako da možete primijeniti iste polja format strings bez izvršavanja JavaScript.
Mogu li koristiti ove formate izvan konteksta PDF dokumenta?
-Da, u redu je. FieldDateTimeFormatter, FieldNumberCurrencyFormatter, i FieldNumberPercentFormatter su obične klase bez ovisnosti o a Document Možete ih koristiti u bilo kojem .NET 8+ kontekstu kao formate korisničkih programa.
Koja je razlika između FieldNumberCurrencyFormattera i Field NumberPercentFormata?
FieldNumberCurrencyFormatter formatira broj kao novčani iznos bez množenja. FieldNumberPercentFormatter množi ulaz za 100 i dodaje ili prepends simbol posto.
Postoji li način da se poveže više formatera?
Ne postoji ugrađena veza. Primjenite formatere sekvencijalno u kodu.
Trebam li cijeli PDF dokument da bih koristio ove klase?
Ne. Formatujući rad na običnim nizovima i povrat formatirani niževi. Oni ne zahtijevaju otvorenu Document Primjer.