Forms
Forms
דף זה מכסה יצירה וניהול של שדות אינטראקטיביים AcroForm. Form, שנגישה דרך doc.Form, היא המעטפת לכל סוג שדה; כל שיטת Add*() יוצרת שדה הקשור לעמוד ולמלבן וידג’ט ומחזירה מזהה טיפוסי (TextField, CheckboxField, ChoiceField, ButtonField או RadioField) שמשתף את תכונות Field המשותפות Value, ReadOnly, ו-Required.
יצירת שדות
כל אחד מ-Form.AddTextField(), Form.AddCheckbox(), Form.AddComboBox() והאחים שלהם מקבל אובייקט אפשרויות שמגדיר את ה-page היעד (בהתחלה מ-0), ה-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 הן תכונות בוליאניות פשוטות.
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 סיכום
| מחלקה/מתודה | תיאור |
|---|---|
Form | ממשק AcroForm, נגיש דרך 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() | צור שדה ישירות בעמוד |