フォームフィールドをPDFに追加
29808 ワード
PDFフォームフィールドは、ユーザーが直接印刷とスキャンせずに、ドキュメントと対話することができます.最も頻繁に使用されるタイプには、テキストボックス、コンボボックス、チェックボックス、リストボックスなどがあります.
尖塔PDFは、PDFドキュメントの作成と操作をサポートするために書かれたJavaクラスライブラリです.これは、COMの便利なクラスの数を提供しています.尖塔PDFファイル.フィールドの名前空間は、プログラマがさまざまな種類のフォームを作成し、既存のPDFドキュメントに埋め込まれたフォームフィールドを処理することができます.ここではいくつかの記事にかかわっている.
クラス
説明
PDFTextBoxField
PDFフォームのテキストボックスフィールドを表します.
PdfCheckBoxField
PDFフォームのチェックボックスフィールドを表します.
PDFComboBoxfield
PDFフォームのコンボボックスフィールドを表します.
PDFlistbox
PDFフォームのリストボックスフィールドを表します.
PDFListFields
リストフィールドの項目を表します.
PDFRadioButtonListField
PDFフォームのラジオボタンフィールドを表します.
PDFRadioButtonlistitem
ラジオボタンリストの項目を表します.
PDFButtonfield
ボタンフォームをPDF形式で表します.
非Mavenプロジェクトを作成している場合は、 からJARファイルをダウンロードし、アプリケーションの依存関係として追加します.Mavenプロジェクトの場合は、次の設定を使用して、簡単にjarファイルを追加できます.
尖塔PDFは、PDFドキュメントの作成と操作をサポートするために書かれたJavaクラスライブラリです.これは、COMの便利なクラスの数を提供しています.尖塔PDFファイル.フィールドの名前空間は、プログラマがさまざまな種類のフォームを作成し、既存のPDFドキュメントに埋め込まれたフォームフィールドを処理することができます.ここではいくつかの記事にかかわっている.
クラス
説明
PDFTextBoxField
PDFフォームのテキストボックスフィールドを表します.
PdfCheckBoxField
PDFフォームのチェックボックスフィールドを表します.
PDFComboBoxfield
PDFフォームのコンボボックスフィールドを表します.
PDFlistbox
PDFフォームのリストボックスフィールドを表します.
PDFListFields
リストフィールドの項目を表します.
PDFRadioButtonListField
PDFフォームのラジオボタンフィールドを表します.
PDFRadioButtonlistitem
ラジオボタンリストの項目を表します.
PDFButtonfield
ボタンフォームをPDF形式で表します.
尖塔Java用PDF spireをインストールします。PDFファイル。ジャー
非Mavenプロジェクトを作成している場合は、 からJARファイルをダウンロードし、アプリケーションの依存関係として追加します.Mavenプロジェクトの場合は、次の設定を使用して、簡単にjarファイルを追加できます.
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId> e-iceblue </groupId>
<artifactId>spire.pdf</artifactId>
<version>3.8.2</version>
</dependency>
</dependencies>
このリンク コードの使用
import com.spire.pdf.fields.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.util.EnumSet;
public class AddFormFieldsToPdf {
public static void main(String[] args) throws Exception {
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();
//Add a page
PdfPageBase page = doc.getPages().add();
//Initialize x and y coordinates
float baseX = 100;
float baseY = 0;
//Create brush objects
PdfSolidBrush brush1 = new PdfSolidBrush(new PdfRGBColor(Color.BLUE));
PdfSolidBrush brush2 = new PdfSolidBrush(new PdfRGBColor(Color.black));
//Create font
PdfFont font = new PdfFont(PdfFontFamily.Times_Roman, 12f, EnumSet.of(PdfFontStyle.Regular));
//Add a text box to pdf
String text = "Name:";
page.getCanvas().drawString(text, font, brush1, new Point2D.Float(0, baseY));
Rectangle2D.Float tbxBounds = new Rectangle2D.Float(baseX, baseY, 150, 15);
PdfTextBoxField textBox = new PdfTextBoxField(page, "textbox");
textBox.setBounds(tbxBounds);
textBox.setFont(font);
doc.getForm().getFields().add(textBox);
baseY += 35;
//Add radio buttons to pdf
page.getCanvas().drawString("Gender:", font, brush1, new Point2D.Float(0, baseY));
PdfRadioButtonListField radioButtonListField = new PdfRadioButtonListField(page, "radio");
PdfRadioButtonListItem radioItem1 = new PdfRadioButtonListItem("male");
radioItem1.setBounds(new Rectangle2D.Float(baseX, baseY, 15, 15));
page.getCanvas().drawString("Male", font, brush2, new Point2D.Float(baseX + 20, baseY));
PdfRadioButtonListItem radioItem2 = new PdfRadioButtonListItem("female");
radioItem2.setBounds(new Rectangle2D.Float(baseX + 70, baseY, 15, 15));
page.getCanvas().drawString("Female", font, brush2, new Point2D.Float(baseX + 90, baseY));
radioButtonListField.getItems().add(radioItem1);
radioButtonListField.getItems().add(radioItem2);
radioButtonListField.setSelectedIndex(0);
doc.getForm().getFields().add(radioButtonListField);
baseY += 35;
//Add a combo box to pdf
page.getCanvas().drawString("Country:", font, brush1, new Point2D.Float(0, baseY));
Rectangle2D.Float cmbBounds = new Rectangle2D.Float(baseX, baseY, 150, 15);
PdfComboBoxField comboBoxField = new PdfComboBoxField(page, "combobox");
comboBoxField.setBounds(cmbBounds);
comboBoxField.getItems().add(new PdfListFieldItem("United States", "us"));
comboBoxField.getItems().add(new PdfListFieldItem("Canada", "can"));
comboBoxField.getItems().add(new PdfListFieldItem("China", "cn"));
comboBoxField.getItems().add(new PdfListFieldItem("Japan", "jpn"));
comboBoxField.setSelectedIndex(0);
comboBoxField.setFont(font);
doc.getForm().getFields().add(comboBoxField);
baseY += 35;
//Add checkboxes to pdf
page.getCanvas().drawString("Hobbies:", font, brush1, new Point2D.Float(0, baseY));
java.awt.geom.Rectangle2D.Float rec1 = new java.awt.geom.Rectangle2D.Float(baseX, baseY, 15, 15);
PdfCheckBoxField checkBoxField = new PdfCheckBoxField(page, "travel");
checkBoxField.setBounds(rec1);
checkBoxField.setChecked(false);
page.getCanvas().drawString("Travel", font, brush2, new Point2D.Float(baseX + 20, baseY));
java.awt.geom.Rectangle2D.Float rec2 = new java.awt.geom.Rectangle2D.Float(baseX + 70, baseY, 15, 15);
PdfCheckBoxField checkBoxField1 = new PdfCheckBoxField(page, "game");
checkBoxField1.setBounds(rec2);
checkBoxField1.setChecked(false);
page.getCanvas().drawString("Game", font, brush2, new Point2D.Float(baseX + 90, baseY));
doc.getForm().getFields().add(checkBoxField);
doc.getForm().getFields().add(checkBoxField1);
baseY += 35;
//Add a list box to pdf
page.getCanvas().drawString("Degree:", font, brush1, new Point2D.Float(0, baseY));
java.awt.geom.Rectangle2D.Float rec = new java.awt.geom.Rectangle2D.Float(baseX, baseY, 150, 50);
PdfListBoxField listBoxField = new PdfListBoxField(page, "degree");
listBoxField.getItems().add(new PdfListFieldItem("High School", "high"));
listBoxField.getItems().add(new PdfListFieldItem("College Degree", "college"));
listBoxField.getItems().add(new PdfListFieldItem("Master's Degree", "master"));
listBoxField.setBounds(rec);
listBoxField.setFont(font);
listBoxField.setSelectedIndex(0);
doc.getForm().getFields().add(listBoxField);
baseY += 75;
//Add a button to pdf
Rectangle2D.Float btnBounds = new Rectangle2D.Float(baseX, baseY, 50, 15);
PdfButtonField buttonField = new PdfButtonField(page, "submit");
buttonField.setBounds(btnBounds);
buttonField.setText("Submit");
buttonField.setFont(font);
doc.getForm().getFields().add(buttonField);
//Save to file
doc.saveToFile("AddFormFields.pdf", FileFormat.PDF);
}
}
出力Reference
この問題について(フォームフィールドをPDFに追加), 我々は、より多くの情報をここで見つけました https://dev.to/eiceblue/add-form-fields-to-pdf-in-java-13d4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol