Πώς να εργαστείτε με την επέκταση JavaScript στο .NET
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,και FieldNumberPercentFormatter Εισαγωγή: Εγκαταστήστε το πακέτο με dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha και χρησιμοποιήστε αυτές τις τάξεις για να μορφοποιήσετε τις τιμές πεδίου AcroForm στον διακομιστή χωρίς να απαιτείται μηχανή JavaScript.
Βήμα προς βήμα οδηγός
Βήμα 1: Εγκατάσταση του πακέτου
Προσθήκη του FOSS.PDF στο έργο σας:
dotnet add package Aspose.Pdf.Foss --version 0.1.0-alphaΒήμα 2: Εισαγωγή απαιτούμενων τάξεων
using Aspose.Pdf.Annotations.JavascriptExtensions;Βήμα 3: Διαμορφώστε μια τιμή πεδίου ημερομηνίας/ώρα
FieldDateTimeFormatter.Format(dateFormat, dateValue) μετατρέπει μια ρίζα ημερομηνίας σύμφωνα με ένα πρότυπο μορφής ημερήσιας φόρμας Acrobat-style. Αυτό αντιστοιχεί στην λειτουργία PDF JavaScript AF_Date_Format.
string formatted = FieldDateTimeFormatter.Format("mm/dd/yyyy", "2026-06-11");Η dateFormat παράμετρος χρησιμοποιεί τοκάν μορφή ημερομηνίας Acrobat (π.χ., mm, dd, yyyy, HH, MMΌταν η εισαγωγή dateValue Δεν μπορεί να παραδοθεί, η μέθοδος επιστρέφει μια κενή γραμμή.
Βήμα 4: Διαμορφώστε ένα αριθμητικό πεδίο ως νόμισμα
FieldNumberCurrencyFormatter.Format(precision, sepStyle, negStyle, currencySymbol, isPrependCurrency, fieldValue) μορφοποιεί μια αριθμητική γραμμή ως νόμισμα. Αυτό αντιστοιχεί στην λειτουργία 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");Παραμέτρους :
precision- αριθμός δεκάδων θέσεωνsepStyle- χιλιάδες στυλ διαχωριστών (0 = comma, 1 = περίοδος, 2 = μη)negStyle- αρνητικό στυλ αριθμών (0 = παραρτήματα, 1 = minus προεπιλογή)currencySymbol- το σύμβολο του νομίσματος stringisPrependCurrency- να τοποθετήσετε το σύμβολο πριν από τον αριθμόfieldValue- Η ριζική αριθμητική γραμμή για τη μορφοποίηση
Βήμα 5: Διαμορφώστε ένα αριθμητικό πεδίο ως ποσοστό
FieldNumberPercentFormatter.Format(precision, sepStyle, isPrependPercent, fieldValue) μορφοποιεί μια αριθμητική γραμμή ως ποσοστό, πολλαπλασιάζοντας την πρώτη αξία κατά 100. Αυτό αντιστοιχεί στη λειτουργία PDF JavaScript AF_Percent_Format.
var percentFormatter = new FieldNumberPercentFormatter();
string formatted = percentFormatter.Format(
precision: 1,
sepStyle: 0,
isPrependPercent: false,
fieldValue: "0.875");Παραμέτρους :
precision- αριθμός δεκάδων θέσεων μετά το δεκατολικό σημείοsepStyle- χιλιάδες στυλ διαχωριστών (0 = comma, 1 = περίοδος, 2 = μη)isPrependPercent- αληθινό να προφίλει το % σύμβολο, ψεύτικο να προσθέσειfieldValue- η ριζική αριθμητική γραμμή (ο διαμορφωτής πολλαπλασιάζεται κατά 100)
Κοινά προβλήματα και τακτοποιήσεις
Το FieldDateTimeFormatter επιστρέφει άδειο σήμα Αυτό συμβαίνει όταν η dateValue Δεν μπορεί να προσαρμοστεί το πρότυπο ημερομηνίας στο dateFormat.Οι τοξίνες ημερομηνίας Acrobat διαφέρουν από τις γραμμές μορφής .NET DateTime.
Το FieldNumberCurrencyFormatter παράγει λάθος δεκαμερή διαχωριστή Η sepStyle παράμετρος ελέγχει χιλιάδες διαχωριστές. για να χρησιμοποιήσετε μια περίοδο ως χίλια διαχώριστες, περάστε sepStyle: 1.
Το FieldNumberPercentFormatter είναι 100x πάρα πολύ μεγάλο. Ο διαμορφωτής πολλαπλασιάζει την αξία εισόδου κατά 100. fieldValue ήδη αντιπροσωπεύει ένα ποσοστό (π.χ., “87.5” αντί για “0.875”), διαιρείται με 100 πριν καλέσετε Format.
Το όνομα δεν βρέθηκε μετά την εγκατάσταση πακέτου Βεβαιωθείτε ότι στοχεύετε net8.0 ή αργότερα.Το JavaScriptExtensions nameespace είναι διαθέσιμο μόνο στο πακέτο Aspose.Pdf.Foss.
NullReferenceΕξαίρεση σε κενό πεδίοΣυμφωνία Πέρασε μηδέν ή ένα κενό σήμα ως fieldValue Θα προκαλέσει μια εξαίρεση. επικυρώστε την εισαγωγή πριν καλέσετε Format.
Συχνές ερωτήσεις
Τι σημαίνει «αυτά που αντιστοιχούν στο AF_Date_Format»;?
Το PDF AcroForm JavaScript χρησιμοποιεί το AF_Date_Format ως ενσωματωμένη λειτουργία μορφοποίησης για τα πεδία ημερομηνίας. FieldDateTimeFormatter επαναλαμβάνει την ίδια λογική μορφοποίησης στον .NET διαχειρισμένο κώδικα, ώστε να μπορείτε να εφαρμόσετε τις ίδιες γραμμές μορφότυπου πεδίου χωρίς να εκτελείτε JavaScript.
Μπορώ να χρησιμοποιήσω αυτούς τους μορφοποιητές εκτός του πλαισίου εγγράφου PDF;?
Ναι . FieldDateTimeFormatter, FieldNumberCurrencyFormatter,και FieldNumberPercentFormatter Οι τάξεις είναι άμεσες, χωρίς εξάρτηση από το Document Μπορείτε να τα χρησιμοποιήσετε σε οποιοδήποτε πλαίσιο .NET 8+ ως μορφοποιητές υπηρεσιών.
Ποια είναι η διαφορά μεταξύ FieldNumberCurrencyFormatter και FieldSense;?
FieldNumberCurrencyFormatter Ο αριθμός αποτελεί ένα νομισματικό ποσό χωρίς να αναπαράγεται. FieldNumberPercentFormatter Πολλαπλασιάζει την εισαγωγή κατά 100 και προσθέτει ή προσπάει ένα σύμβολο του εκατό.
Υπάρχει τρόπος να συνδέσετε πολλαπλούς μορφοποιητές;?
Δεν παρέχεται ενσωματωμένη αλυσίδα. Εφαρμόστε διαδοχικά σε κώδικα.
Χρειάζομαι το πλήρες PDF για να χρησιμοποιήσω αυτές τις τάξεις;?
Οι διαμορφωτές λειτουργούν σε επίπεδα και επιστρέφουν μορφοποιημένες γραμμές. δεν απαιτούν ανοιχτό Document Η περίπτωση.