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ól Form.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 egy Field kezelő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 a Value-val.
  • A kombinált listák és listamezők a kiválasztott export értéket a /V-ben tárolják; a display szöveg az, amit a generált megjelenés mutat.

Gyakori problémák

ProblémaOkJavítás
A Form.AddTextField() használatával hozzáadott mező nem jelenik meg az oldalonA rect koordináták a céloldal méretein kívül esnekEllenő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ánA Flatten() egy másolaton lett meghívva, nem a Add*() / Form.Get() által visszaadott kezelőnHí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őnA mező megjelenése nem lett újragenerálva az érték változása utánHí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ódszerLeírás
FormAcroForm 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.FieldsMinden 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 / RadioFieldA 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

Lásd még:

 Magyar