Kuinka työskennellä JavaScript-laajennusten kanssa .NET-ympäristössä

Kuinka työskennellä JavaScript-laajennusten kanssa .NET-ympäristössä

Aspose.PDF FOSS for .NET sisältää palvelinpuolen toteutukset PDF JavaScript -funktioille AF_Date_Format, AF_Number_Format ja AF_Percent_Format FieldDateTimeFormatter, FieldNumberCurrencyFormatter ja FieldNumberPercentFormatter luokkien kautta. Asenna paketti dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha ja käytä näitä luokkia muotoilemaan AcroForm-kenttien arvot palvelimella ilman JavaScript-moottoria.

Vaiheittainen opas

Vaihe 1: Asenna paketti

Lisää Aspose.PDF FOSS projektiisi:

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

Vaihe 2: Tuo vaaditut luokat

using Aspose.Pdf.Annotations.JavascriptExtensions;

Vaihe 3: Muotoile päivämäärä/aika -kentän arvo

FieldDateTimeFormatter.Format(dateFormat, dateValue) muuntaa raakapäivämäärämerkkijonon Acrobat-tyylisen päivämäärämuotoilumallin mukaisesti. Tämä vastaa PDF JavaScript AF_Date_Format -funktiota.

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

dateFormat-parametri käyttää Acrobat-päivämäärämuodon tunnisteita (esim. mm, dd, yyyy, HH, MM). Kun syötettä dateValue ei voida jäsentää, metodi palauttaa tyhjän merkkijonon.


Vaihe 4: Muotoile numeerinen kenttä valuutaksi

FieldNumberCurrencyFormatter.Format(precision, sepStyle, negStyle, currencySymbol, isPrependCurrency, fieldValue) muotoilee numeerisen merkkijonon valuuttana. Tämä vastaa PDF JavaScript AF_Number_Format -funktiota.

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

Parametrit:

  • precision - desimaalien määrä
  • sepStyle - tuhaterottimen tyyli (0 = pilkku, 1 = piste, 2 = ei mitään)
  • negStyle - negatiivisen luvun tyyli (0 = sulkeet, 1 = miinus etuliite)
  • currencySymbol - valuuttasymbolin merkkijono
  • isPrependCurrency - true jos symboli sijoitetaan luvun eteen
  • fieldValue - muotoiltava raaka numeerinen merkkijono

Vaihe 5: Muotoile numeerinen kenttä prosenttiosuutena

FieldNumberPercentFormatter.Format(precision, sepStyle, isPrependPercent, fieldValue) muotoilee numeerisen merkkijonon prosenttimuotoon, kertomalla raaka-arvon ensin 100:lla. Tämä vastaa PDF JavaScript AF_Percent_Format -funktiota.

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

Parametrit:

  • precision - desimaalien määrä desimaalipisteen jälkeen
  • sepStyle - tuhaterottimen tyyli (0 = pilkku, 1 = piste, 2 = ei mitään)
  • isPrependPercent - true lisättäväksi %-symbolin eteen, false lisättäväksi perään
  • fieldValue - raaka numeerinen merkkijono (muotoilija kertoo 100:lla)

Yleisiä ongelmia ja korjauksia

FieldDateTimeFormatter palauttaa tyhjän merkkijonon
Tämä tapahtuu, kun dateValue-argumenttia ei voida jäsentää dateFormat-päivämääräkaavalla. Acrobatin päivämäärämerkit eroavat .NET DateTime -muotoilumerkeistä.

FieldNumberCurrencyFormatter tuottaa väärän desimaalierottimen
sepStyle-parametri ohjaa tuhaterottimia. Käyttääksesi pistettä tuhaterottimena, anna sepStyle: 1.

FieldNumberPercentFormatter -tuloste on 100‑kertainen liian suuri
Muotoilija kerrottaa syötteen arvon 100:lla. Jos fieldValue jo edustaa prosenttia (esim. “87,5” eikä “0,875”), jaa 100:lla ennen Format-kutsua.

Nimiavaruus ei löydy paketin asennuksen jälkeen Varmista, että kohdistat net8.0:een tai uudempiin. JavascriptExtensions-nimiavaruus on saatavilla vain Aspose.Pdf.Foss-paketissa.

NullReferenceException tyhjässä fieldValue:ssa Nullin tai tyhjän merkkijonon antaminen parametrina fieldValue aiheuttaa jäsennysvirheen. Vahvista syöte ennen Format-funktion kutsumista.

Usein kysytyt kysymykset

Mitä tarkoittaa “corresponds to AF_Date_Format”?

PDF AcroForm JavaScript käyttää AF_Date_Format -funktiota sisäänrakennettuna muotoilufunktiona päivämääräkentille. FieldDateTimeFormatter toistaa saman muotoilulogikan .NET hallitussa koodissa, jotta voit käyttää samoja kentän muotoilumerkkejä ilman JavaScriptin suorittamista.

Voinko käyttää näitä muotoilijoita PDF-asiakirjan kontekstin ulkopuolella?

Kyllä. FieldDateTimeFormatter, FieldNumberCurrencyFormatter ja FieldNumberPercentFormatter ovat tavallisia luokkia, joilla ei ole riippuvuutta Document-instanssista. Voit käyttää niitä missä tahansa .NET 8+ -kontekstissa apuformaatereina.

Mikä on ero FieldNumberCurrencyFormatterin ja FieldNumberPercentFormatterin välillä?

FieldNumberCurrencyFormatter muotoilee numeron rahamääräksi ilman kertolaskua. FieldNumberPercentFormatter kertoo syötteen 100:lla ja lisää prosenttimerkin perään tai eteen.

Onko tapa ketjuttaa useita muotoilijoita?

Sisäänrakennettua ketjuttamista ei ole tarjolla. Käytä muotoilijoita peräkkäin koodissa.

Tarvitseeko minun käyttää koko PDF-asiakirjaa näiden luokkien käyttämiseen?

Ei. Muotoilijat toimivat tavallisilla merkkijonoilla ja palauttavat muotoiltuja merkkijonoja. Ne eivät vaadi avointa Document-instanssia.

Katso myös

 Suomi