Forms
Forms
Ez az oldal lefedi az interaktív AcroForm mezők létrehozását és kezelését. Form, amely a doc.Form útján érhető el, minden mezőtípus felületét képezi; minden Add*() metódus egy mezőt hoz létre, amely egy oldalhoz és egy widget téglalaphoz van kötve, és egy típusos kezelőt ad vissza (TextField, CheckboxField, ChoiceField, ButtonField vagy RadioField), amely közös Field tulajdonságokat oszt meg: Value, ReadOnly és Required.
Mezők létrehozása
Form.AddTextField(), Form.AddCheckbox(), Form.AddComboBox() és testvéreik mindegyike egy opciós objektumot vár, amely megnevezi a cél page (0-alapú), a widget rect, egy name mezőt, valamint a stílusokat, mint például borderColor és 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() és Page.AddCheckbox() ugyanazokat a mezőtípusokat hozzák létre közvetlenül egy oldalon, anélkül, hogy a doc.Form-t vagy egy page számot megneveznék az opciós objektumban.
Mezők olvasása és módosítása
Form.Fields egy tömb, amely a dokumentum minden Field-ját tartalmazza; Form.Get() egyet keres a teljesen kvalifikált neve alapján. Minden mező Value értéke olvasható vagy újra hozzárendelhető, és a ReadOnly / Required egyszerű logikai (boolean) tulajdonságok.
const nameField = doc.Form.Get('FullName');
if (nameField) {
console.log(nameField.Value);
nameField.Value = 'Bob Sample';
}Mezők laposítása
Minden mezőtípus Flatten() metódusa beégeti a jelenlegi megjelenését az oldal statikus tartalmába, és eltávolítja a AcroForm-ből — ugyanaz a végleges, nem interaktív hatás, amit a Annotation.Flatten() biztosít a megjegyzésekhez.
const tb = form.AddTextField({
page: pageNum, rect: [210, 660, 460, 680], name: 'FlattenName', value: 'Alice Sample',
});
tb.Flatten();Tippek és legjobb gyakorlatok
- Módosítsa a
Add*()hívás által közvetlenül visszaadott mezőkezelőt, vagy egy újbólForm.Get()segítségével lekértet — egy elavult hivatkozás nem látja a máshol végrehajtott változtatásokat. Form.RemoveField()elfogad egyFieldkezelőt vagy egy mezőnév karakterláncot.- Hívja meg a
Form.GenerateAppearances()-t a mezőértékek tömeges módosítása után, hogy minden mező képernyőn megjelenő kinézete szinkronban maradjon aValue-val. - A kombinált listák és listamezők a kiválasztott
exportértéket a/V-ben tárolják; adisplayszöveg az, amit a generált megjelenés mutat.
Gyakori problémák
| Probléma | Ok | Javítás |
|---|---|---|
A Form.AddTextField() használatával hozzáadott mező nem jelenik meg az oldalon | A rect koordináták a céloldal méretein kívül esnek | Ellenőrizze, hogy a téglalap az oldal határain belül van |
A mező továbbra is interaktívként jelenik meg a Flatten() után | A Flatten() egy másolaton lett meghívva, nem a Add*() / Form.Get() által visszaadott kezelőn | Hívja meg a Flatten() -t az űrlapról közvetlenül lekért objektumon |
| A mező értékének változása nem látható a képernyőn | A mező megjelenése nem lett újragenerálva az érték változása után | Hívja meg a Form.GenerateAppearances() -t, vagy a mező saját GenerateAppearance() -ét |
FAQ
Hogyan olvashatom vagy módosíthatom egy mező értékét a létrehozása után?
Keresse meg a Form.Get('fieldName') segítségével (vagy használja a Add*() hívás által visszaadott kezelőt), és olvassa vagy állítsa be közvetlenül a Value tulajdonságát.
Milyen mezőtípusokat támogat a Form felület?
Szöveges mezők, jelölőnégyzetek, rádiócsoportok, kombinált listák, listamezők és nyomógombok a Form.AddTextField(), Form.AddCheckbox(), Form.AddRadioGroup(), Form.AddComboBox(), Form.AddListBox() és Form.AddPushButton() segítségével.
Hogyan távolíthatok el egy mezőt?
Hívja a Form.RemoveField() a mező kezelőjével vagy nevével.
Hogyan tehető egy űrlapmező állandóvá és nem szerkeszthetővé?
Hívd meg a Flatten() mezőfogantyúra — ugyanaz a minta, amit a megjegyzéseknél használnak — amely beépíti a jelenlegi megjelenését az oldalba, és eltávolítja azt a AcroForm ből.
API Reference összefoglaló
| Osztály/Módszer | Leírás |
|---|---|
Form | AcroForm felület, amely a doc.Form -on keresztül érhető el |
Form.AddTextField() / Form.AddCheckbox() / Form.AddRadioGroup() / Form.AddComboBox() / Form.AddListBox() / Form.AddPushButton() | Hozzon létre a megfelelő típusú mezőt |
Form.Fields | Minden Field a dokumentumban, tömbként |
Form.Get() | Keressen egy mezőt a teljesen minősített neve alapján |
Form.RemoveField() | Távolítson el egy mezőt azonosító vagy név alapján |
Form.GenerateAppearances() | Regenerálja a képernyőn látható megjelenést minden mezőnél |
TextField / CheckboxField / ChoiceField / ButtonField / RadioField | A beírt mező kezeli a(z) Value, ReadOnly, Required megosztását |
Page.AddTextField() / Page.AddCheckbox() | Hozzon létre egy mezőt közvetlenül egy oldalon |