מלא טופס PDF Java

בזמנים מודרניים אלה נאספים נתונים רבים באמצעות טפסים וטפסי PDF הניתנים למילוי ראויים להזכיר בהקשר זה. הם דרך יעילה לאיסוף ולסדר מידע. יתר על כן, טפסי PDF הניתנים למילוי נמצאים כעת בשימוש כסטנדרט על ידי מוסדות שונים. לדוגמה, בית משפט כלשהו, או חברת רכש יכולים להשתמש ביעילות בטפסי PDF הניתנים למילוי כדי לתקן את הנהלים שלהם. ליצירת יישומים כאלה, Aspose.PDF עבור Java API הוא ה-API המתאים ביותר. סקרנים לדעת למה? תן לנו לחקור את מקרי השימוש הבאים שבהם נעבוד עם טפסי PDF באופן תוכנתי.

הַתקָנָה

אתה יכול ללכת למקטע מהדורות חדשות שבו אתה יכול להגדיר את ה-API להעשיר את יישומי Java שלך ולאפשר להם לעבד מסמכי PDF, או שאתה יכול להגדיר את התלות באפליקציית Maven שלך לפי:

מאגר:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository

תלות:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.7</version>
</dependency>

לאחר הגדרה מוצלחת של ה-API, הבה נעבור למקרי השימוש הבאים:

צור טפסי PDF הניתנים למילוי באמצעות Java

אתה יכול ליצור טופס PDF שניתן למילוי ביישומי Java על ידי ביצוע השלבים הבאים:

  1. צור קובץ PDF עם דף ריק
  2. הוסף את השדה TextBox ואת השדה RadioButton בדף
  3. שמור את קובץ הפלט PDF

קטע הקוד שלהלן מראה כיצד ליצור טופס PDF שניתן למילוי מאפס באמצעות Java:

com.aspose.pdf.Document pdfdoc = new com.aspose.pdf.Document();
com.aspose.pdf.Page page = pdfdoc.getPages().add();
TextBoxField nameBox = new TextBoxField(pdfdoc, new com.aspose.pdf.Rectangle(275, 740, 440, 770));
nameBox.setPartialName("nameBox1");
nameBox.getDefaultAppearance().setFontSize(10);
nameBox.setMultiline(true);
com.aspose.pdf.Border nameBorder = new com.aspose.pdf.Border(nameBox);
nameBorder.setWidth(1);
nameBox.setBorder(nameBorder);
nameBox.getCharacteristics().setBorder(java.awt.Color.BLACK);
nameBox.setColor(com.aspose.pdf.Color.fromRgb(Color.RED));
TextBoxField mrnBox = new TextBoxField(pdfdoc, new com.aspose.pdf.Rectangle(275, 718, 440, 738));
mrnBox.setPartialName("Box1");
mrnBox.getDefaultAppearance().setFontSize(10);
com.aspose.pdf.Border mrnBorder = new com.aspose.pdf.Border(mrnBox);
mrnBorder.setWidth(1);
mrnBox.setBorder(mrnBorder);
mrnBox.getCharacteristics().setBorder(java.awt.Color.BLACK);
mrnBox.setColor(com.aspose.pdf.Color.fromRgb(Color.RED));
// הוסף שדות טופס לעמוד הראשון של מסמך PDF            
pdfdoc.getForm().add(nameBox, 1);
pdfdoc.getForm().add(mrnBox, 1);

//הוסף לחצני רדיו בקואורדינטות מיקום ספציפיות ב-PDF
com.aspose.pdf.Table table = new com.aspose.pdf.Table();
//הגדר את המיקום כאן
table.setLeft(200);
table.setTop(300);
table.setColumnWidths("120");
page.getParagraphs().add(table);
com.aspose.pdf.Row r1 = table.getRows().add();
com.aspose.pdf.Row r2 = table.getRows().add();
com.aspose.pdf.Cell c1 = r1.getCells().add();
com.aspose.pdf.Cell c2 = r2.getCells().add();
com.aspose.pdf.RadioButtonField rf = new com.aspose.pdf.RadioButtonField(page);
rf.setPartialName("radio");
pdfdoc.getForm().add(rf, 1);
com.aspose.pdf.RadioButtonOptionField opt1 = new com.aspose.pdf.RadioButtonOptionField();
com.aspose.pdf.RadioButtonOptionField opt2 = new com.aspose.pdf.RadioButtonOptionField();
opt1.setOptionName("Yes");
opt2.setOptionName("No");
opt1.setWidth(15);
opt1.setHeight(15);
opt2.setWidth(15);
opt2.setHeight(15);
rf.add(opt1);
rf.add(opt2);
opt1.setBorder(new com.aspose.pdf.Border(opt1));
opt1.getBorder().setWidth(1);
opt1.getBorder().setStyle(com.aspose.pdf.BorderStyle.Solid);
opt1.getCharacteristics().setBorder(java.awt.Color.BLACK);
opt1.getDefaultAppearance().setTextColor(java.awt.Color.RED);
opt1.setCaption(new com.aspose.pdf.TextFragment("Yes"));
opt2.setBorder(new com.aspose.pdf.Border(opt1));
opt2.getBorder().setWidth(1);
opt2.getBorder().setStyle(com.aspose.pdf.BorderStyle.Solid);
opt2.getCharacteristics().setBorder(java.awt.Color.BLACK);
opt2.getDefaultAppearance().setTextColor(java.awt.Color.RED);
opt2.setCaption(new com.aspose.pdf.TextFragment("No"));
c1.getParagraphs().add(opt1);
c2.getParagraphs().add(opt2);
pdfdoc.save(dataDir + "Fillable_PDF_Form.pdf");

מלא, שנה או מחק שדות טופס ב-PDF קיים באמצעות Java

למדנו ליצור קובץ PDF חדש שניתן למילוי מאפס. הבה נמשיך לתרחישים שבהם מעובדים מסמכי PDF קיימים:

i) מלא שדה טופס בקובץ PDF קיים באמצעות Java

כמו שיצרנו את טופס ה-PDF בדוגמה שלמעלה, הבה נמשיך עם אותו מסמך ונמלא את שדות הטופס באופן תוכנתי באמצעות Java. אתה יכול למלא את הטופס שנוצר עם השלבים הבאים:

  1. טען קובץ קלט
  2. מלא ערכים בשדה TextBox
  3. מלא שדות RadioButton על ידי בחירת אפשרות
  4. שמור טופס PDF

קטע הקוד שלהלן מראה כיצד למלא טפסים הניתנים למילוי באמצעות Java:

// פתח את המסמך
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fillable_PDF_Form.pdf");

// קבלו את השדות
TextBoxField textBoxField1 = (TextBoxField) pdfDocument.getForm().get("nameBox1");
TextBoxField textBoxField2 = (TextBoxField) pdfDocument.getForm().get("Box1");
// מלא את ערכי שדות הטופס
textBoxField1.setValue("A quick brown fox jumped over a lazy dog.");
textBoxField2.setValue("A quick brown fox jumped over a lazy dog.");

// קבל שדה לחצן בחירה
RadioButtonField radioField = (RadioButtonField) pdfDocument.getForm().get("radio");
// ציין את האינדקס של לחצן הבחירה מהקבוצה
radioField.setSelected(1);

dataDir = dataDir + "Fill_PDF_Form_Field.pdf";
// שמור מסמך מעודכן
pdfDocument.save(dataDir);

ii) שנה שדה טופס במסמך PDF באמצעות Java

לפעמים אנחנו צריכים לערוך או לעדכן ערכי שדות בטופס PDF. אתה יכול לערוך בקלות טופס PDF שניתן למילוי באמצעות השלבים הבאים:

  1. אתחול קלט PDF
  2. קבל הפניה לשדה הטופס לפי שמו
  3. ערוך את טופס ה-PDF
  4. שמור טופס PDF ערוך

קטע הקוד שלהלן מראה כיצד לעדכן או לערוך קובץ PDF שניתן למילוי באמצעות Java:

// פתח את המסמך
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// קבל שדה
TextBoxField textBoxField = (TextBoxField) pdfDocument.getForm().get("nameBox1");
// שנה את ערך השדה
textBoxField.setValue("Changed Value");
textBoxField.setReadOnly(true);
dataDir = dataDir + "ModifyFormField.pdf";
// שמור מסמך מעודכן
pdfDocument.save(dataDir);

iii) מחק שדה טופס בקובץ PDF קיים באמצעות Java

אתה יכול להסיר או למחוק שדה טופס בקלות ביישומי Java שלך. תוכל לבצע את השלבים הבאים:

  1. אתחול טופס PDF
  2. מחק את שדה הטופס באמצעות שמו
  3. שמור טופס PDF מעודכן

להלן קטע הקוד מראה כיצד למחוק שדה טופס מטופס PDF באמצעות Java:

// פתח את המסמך
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// מחק שדה מסוים לפי שם
pdfDocument.getForm().delete("nameBox1");
dataDir = dataDir + "Delete_Form_Field.pdf";
// שמור מסמך שהשתנה
pdfDocument.save(dataDir);

שמור על זכויות מורחבות של טפסי PDF באמצעות Java

ייתכן שתבחין שלטופסי PDF מסוימים יש זכויות מורחבות. הם משמשים כדי למנוע שינויים בתוכן המקורי ורק מילוי טפסים מותר. זכויות מורחבות של קבצי PDF יכולות להיות מושפעות כאשר

אתה ממלא טופס כזה ושומר אותו במיקומים שונים של הדיסק. לכן, עלינו לשמור קבצים כאלה בהדרגה עם השלבים הבאים:

  1. אתחול טופס PDF
  2. מלא את השדות
  3. שמור את מסמך ה-PDF המלא

קטע הקוד שלהלן מראה כיצד לשמור על זכויות מורחבות בעת מילוי טופס PDF, באמצעות Java:

// יצירת מופע מסמך
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// קבל ערכים מכל השדות
for (com.aspose.pdf.Field formField : pdfDocument.getForm().getFields())
{
    // אם השם המלא של השדה מכיל nameBox1, בצע את הפעולה
    if (formField.getFullName().contains("nameBox1"))
    {
        // שדה צור טופס כ-TextBox
        TextBoxField textBoxField = (TextBoxField) formField;
        // שנה את ערך השדה
        textBoxField.setValue("Preserve Extended Features");
    }
}
// שמור את המסמך המעודכן
pdfDocument.save();

השתמש ב-JavaScript בצורת PDF באמצעות Java

אתה יכול למלא את שדות טופס ה-PDF הניתנים למילוי באמצעות Javascript עם Aspose.PDF עבור Java. עליך לבצע את השלבים הבאים:

  1. טען מסמך PDF
  2. הוסף שדה במיקום דף ספציפי
  3. הגדר JavaScript ופתח פעולה עבור המסמך שמור קובץ PDF

קטע הקוד הבא מראה כיצד להשתמש ב-JavaScript בטפסי PDF הניתנים למילוי:

com.aspose.pdf.Document pdfdoc = new com.aspose.pdf.Document();
pdfdoc.getPages().add();
TextBoxField textBoxField = new TextBoxField(pdfdoc.getPages().get_Item(1), new com.aspose.pdf.Rectangle(85, 750, 215, 770));
textBoxField.setPartialName("textbox1");
textBoxField.setValue("Text Box");
//TextBoxField.Border = new Border();
com.aspose.pdf.Border border = new com.aspose.pdf.Border(textBoxField);
border.setWidth(2);
border.setDash(new com.aspose.pdf.Dash(1, 1));
textBoxField.setBorder(border);
textBoxField.getDefaultAppearance().setFontSize(10);
textBoxField.setColor(com.aspose.pdf.Color.fromRgb(java.awt.Color.GREEN));
// הוסף שדה למסמך
pdfdoc.getForm().add(textBoxField, 1);
String JS = "var w = this.getField('" + textBoxField.getPartialName() + "'); var today = new Date(); w.value = today.toLocaleString();";
pdfdoc.setOpenAction(new com.aspose.pdf.JavascriptAction(JS));
pdfdoc.save(dataDir + "JS_Form.pdf");

סיכום

למדנו כיצד ליצור טפסי PDF הניתנים למילוי, כמו גם מילוי או עריכה של שדות הטפסים באמצעות סביבת Java. יתרה מכך, בדקנו גם את שימור הזכויות המורחבות במסמכי PDF בנוסף לשימוש ב-JavaScript בפעולת מסמך PDF. בכל מקרה של חששות או בעיות, אנא אל תהסס לפנות אלינו בפורום תמיכה חינם.

ראה גם