Forms

Forms

Αυτή η σελίδα καλύπτει τη δημιουργία και διαχείριση διαδραστικών AcroForm πεδίων. Το Form, που προσεγγίζεται μέσω doc.Form, είναι η πρόσβαση για κάθε τύπο πεδίου· κάθε μέθοδος Add*() δημιουργεί ένα πεδίο συνδεδεμένο με μια σελίδα και ένα ορθογώνιο widget και επιστρέφει ένα τυποποιημένο χειριστή (TextField, CheckboxField, ChoiceField, ButtonField ή RadioField) που μοιράζεται τις κοινές ιδιότητες Field Value, ReadOnly, και Required.


Δημιουργία Πεδίων

Το Form.AddTextField(), Form.AddCheckbox(), Form.AddComboBox() και τα αδέλφια τους λαμβάνουν καθένα ένα αντικείμενο επιλογών που ονομάζει το στόχο page (από το 0), το widget rect, ένα πεδίο name, και στυλ όπως borderColor και backgroundColor.

const form = doc.Form;
const pageNum = page.Number;

form.AddTextField({
  page: pageNum, rect: [200, 670, 450, 690], name: 'FullName', value: 'Alice Sample',
  borderColor: [0.05, 0.1, 0.3], backgroundColor: [0.9, 0.93, 1], borderWidth: 1,
  font: 'Helvetica', fontSize: 12,
});

form.AddCheckbox({
  page: pageNum, rect: [200, 630, 218, 648], name: 'Subscribe',
  checked: true, borderColor: [0.05, 0.1, 0.3], borderWidth: 1,
});

form.AddComboBox({
  page: pageNum, rect: [200, 550, 350, 570], name: 'Country', value: 'US',
  options: [
    { export: 'US', display: 'United States' },
    { export: 'UK', display: 'United Kingdom' },
    { export: 'DE', display: 'Germany' },
  ],
});

Τα Page.AddTextField() και Page.AddCheckbox() δημιουργούν τους ίδιους τύπους πεδίων απευθείας σε μια σελίδα, χωρίς να ορίζουν το doc.Form ή έναν αριθμό page στο αντικείμενο επιλογών.


Ανάγνωση και Τροποποίηση Πεδίων

Το Form.Fields είναι ένας πίνακας με κάθε Field στο έγγραφο· το Form.Get() αναζητά ένα με το πλήρως προσδιορισμένο όνομά του. Το Value κάθε πεδίου μπορεί να διαβαστεί ή να εκχωρηθεί ξανά, και τα ReadOnly / Required είναι απλές ιδιότητες boolean.

const nameField = doc.Form.Get('FullName');
if (nameField) {
  console.log(nameField.Value);
  nameField.Value = 'Bob Sample';
}

Ισοπεδίασμα Πεδίων

Κάθε μέθοδος Flatten() του τύπου πεδίου ενσωματώνει την τρέχουσα εμφάνισή του στο στατικό περιεχόμενο της σελίδας και την αφαιρεί από το AcroForm — το ίδιο μόνιμο, μη διαδραστικό αποτέλεσμα που έχει το Annotation.Flatten() για τις σημειώσεις.

const tb = form.AddTextField({
  page: pageNum, rect: [210, 660, 460, 680], name: 'FlattenName', value: 'Alice Sample',
});
tb.Flatten();

Συμβουλές και Καλές Πρακτικές

  • Τροποποιήστε το αναγνωριστικό πεδίου που επιστρέφεται άμεσα από την κλήση Add*(), ή ένα που έχει ανακτηθεί φρέσκο με το Form.Get() — μια παλιά αναφορά δεν βλέπει τις αλλαγές που έγιναν αλλού.
  • Form.RemoveField() δέχεται είτε ένα αναγνωριστικό Field είτε μια συμβολοσειρά ονόματος πεδίου.
  • Καλέστε το Form.GenerateAppearances() μετά την αλλαγή των τιμών των πεδίων μαζικά ώστε η εμφάνιση κάθε πεδίου στην οθόνη να παραμένει συγχρονισμένη με το Value του.
  • Τα κουτιά συνδυασμού και τα κουτιά λίστας αποθηκεύουν την επιλεγμένη τιμή export στο /V; το κείμενο display είναι αυτό που εμφανίζει η παραγόμενη εμφάνιση.

Κοινά Προβλήματα

ΠρόβλημαΑιτίαΔιόρθωση
Το πεδίο που προστέθηκε με Form.AddTextField() δεν εμφανίζεται στη σελίδαΟι συντεταγμένες rect βρίσκονται εκτός των διαστάσεων της σελίδας-στόχουΕπιβεβαιώστε ότι το ορθογώνιο βρίσκεται εντός των ορίων της σελίδας
Το πεδίο εξακολουθεί να εμφανίζεται διαδραστικό μετά το Flatten()Flatten() κλήθηκε σε αντίγραφο αντί για το χειριστήριο Add*() / Form.Get() που επιστράφηκεΚλήστε το Flatten() στο αντικείμενο που λαμβάνεται απευθείας από τη φόρμα
Η αλλαγή τιμής του πεδίου δεν είναι ορατή στην οθόνηΗ εμφάνιση του πεδίου δεν επαναδημιουργήθηκε μετά την αλλαγή της τιμήςΚλήστε το Form.GenerateAppearances(), ή το GenerateAppearance() του πεδίου

FAQ

Πώς μπορώ να διαβάσω ή να αλλάξω την τιμή ενός πεδίου μετά τη δημιουργία του;

Αναζητήστε το με το Form.Get('fieldName') (ή χρησιμοποιήστε το αναγνωριστικό που επέστρεψε η κλήση Add*()) και διαβάστε ή αναθέστε άμεσα την ιδιότητα Value του.

Τι τύπους πεδίων υποστηρίζει η προσκηνία Form;

Πεδία κειμένου, πλαίσια ελέγχου, ομάδες ραδιοφύλων, συνδυαστικά κουτιά, λίστες και κουμπιά, μέσω Form.AddTextField(), Form.AddCheckbox(), Form.AddRadioGroup(), Form.AddComboBox(), Form.AddListBox() και Form.AddPushButton().

Πώς αφαιρώ ένα πεδίο;

Καλέστε το Form.RemoveField() με το αναγνωριστικό του πεδίου ή με το όνομά του.

Πώς γίνεται ένα πεδίο φόρμας μόνιμο και μη επεξεργάσιμο;

Κλήστε το Flatten() στον χειριστή πεδίου — το ίδιο μοτίβο που χρησιμοποιείται για τις σημειώσεις — το οποίο ενσωματώνει την τρέχουσα εμφάνισή του στη σελίδα και το αφαιρεί από το AcroForm.


API Reference Σύνοψη

Κλάση/ΜέθοδοςΠεριγραφή
FormAcroForm πρόσοψη, προσεγγίζεται μέσω doc.Form
Form.AddTextField() / Form.AddCheckbox() / Form.AddRadioGroup() / Form.AddComboBox() / Form.AddListBox() / Form.AddPushButton()Δημιουργήστε ένα πεδίο του αντίστοιχου τύπου
Form.FieldsΚάθε Field στο έγγραφο, ως πίνακας
Form.Get()Αναζητήστε ένα πεδίο με το πλήρως προσδιορισμένο όνομά του
Form.RemoveField()Καταργήστε ένα πεδίο με βάση το χειριστήριο ή το όνομα
Form.GenerateAppearances()Αναδημιουργήστε την εμφάνιση στην οθόνη για κάθε πεδίο
TextField / CheckboxField / ChoiceField / ButtonField / RadioFieldΤο πληκτρολογημένο πεδίο χειρίζεται την κοινή χρήση Value, ReadOnly, Required
Page.AddTextField() / Page.AddCheckbox()Δημιουργήστε ένα πεδίο απευθείας σε μια σελίδα

Δείτε επίσης

 Ελληνικά