PDFフォームフィールドを処理する
利点
- PDFフォーム内のデータを抽出、挿入、そしてアップデート。
サンプルプロジェクトファイル
/*
このプログラムは、easyPDFのpdfフォームフィールドを処理する能力をデモンストレーションします。
このプログラムは、与えられたpdfファイルに最適に働くように設計されています。
このpdfファイル(Form.pdf)は、このソースコードと同じディレクトリ内に見つけることができます。
使用例: java TestDocument [pdf ファイル]
*/
import com.bcl.easypdf.*;
import com.bcl.easypdf.EasyPDFDocument.*;
import java.io.File;
public class TestDocument
{
public static void main(String[] args) throws Exception
{
if (args.length == 1)
{
IFormField myFormField;
ITextField myTextField;
IComboField myComboField;
File inputFile = new File(args[0]);
String inputFileName = inputFile.getCanonicalPath();
System.out.println("");
System.out.println("------------------------------------);
System.out.println("Document name: " + inputFileName);
System.out.println("------------------------------------);
System.out.println("");
EasyPDF.initialize();
IPDFDocument doc = new IPDFDocument();
doc.Open(args[0]);
//PDFから全てのフォームフィールドを取得します。
IFormFields formFields = doc.getFormFields();
int nItems = formFields.getCount();
for (int i = 0; i < nItems; ++i)
{
// (i) フィールドを取得します。
myFormField = formFields.getItem(new Integer(i));
if (myFormField.getType() == docFormFieldType.DOC_FRMTYPE_TEXT) {
myTextField = (ITextField) myFormField;
//テキストフィールドの値を表示します。
System.out.println("Field name = " + myTextField.getName());
System.out.println("getPassword = " + myTextField.getPassword());
System.out.println("getMaxLen = " + myTextField.getMaxLen());
System.out.println("getMultiline = " + myTextField.getMultiline());
System.out.println("getValue = " + myTextField.getValue());
System.out.println("");
}else if (myFormField.getType() == docFormFieldType.DOC_FRMTYPE_COMBO ) {
//コンボフィールドの値を表示します。
myComboField = (IComboField) myFormField;
System.out.println("Field name = " + myComboField.getName());
System.out.println("Custom value = " + myComboField.getCustomValue());
System.out.println("Custom value enabled = " + myComboField.getCustomValueEnabled());
System.out.println("Set custom value enabled");
myComboField.setCustomValue("-----");
System.out.println("Custom value = " + myComboField.getCustomValue());
System.out.println("");
} else {
System.out.println("Field name = " + myFormField.getName());
}
}
System.out.println("\n\n");
//ラジオフィールド内の値を取得します。
IRadioField myRadioField;
System.out.println("---------Gender field info---------------------\n");
myFormField = formFields.getItem(new String("Gender"));
System.out.println("Field name = " + myFormField.getName());
myRadioField = (IRadioField) myFormField;
System.out.println("Field name = " + myRadioField.getName());
System.out.println("getNoToggleToOff = " + myRadioField.getNoToggleToOff());
System.out.println("getRadiosInUnison = " + myRadioField.getRadiosInUnison());
System.out.println("\n\n");
System.out.println("---------Music field info----------------------\n");
myFormField = formFields.getItem(new String("Music"));
System.out.println("Field name = " + myFormField.getName());
myRadioField = (IRadioField) myFormField;
System.out.println("Field name = " + myRadioField.getName());
System.out.println("getNoToggleToOff = " + myRadioField.getNoToggleToOff());
System.out.println("getRadiosInUnison = " + myRadioField.getRadiosInUnison());
EasyPDF.uninitialize();
} else {
System.out.println("This example is designed to work with the supplied form.pdf file");
System.out.println("Usage: java TestDocument .\\form.pdf");
}
}
}