現在、pdfでチェックボックスを作成するための次のような方法があります。
private static void createCheckbox(PdfWriter writer, float lowerLeftX, float lowerLeftY, float upperRightX, float upperRightY, String fieldName, boolean startChecked) throws IOException, DocumentException {
RadioCheckField bt = new RadioCheckField(writer, new Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY), fieldName, "Yes");
bt.setCheckType(RadioCheckField.TYPE_CHECK);
bt.setBorderWidth(BaseField.BORDER_WIDTH_THIN);
bt.setBorderColor(Color.BLACK);
bt.setBackgroundColor(Color.WHITE);
bt.setChecked(startChecked);
bt.setOptions(RadioCheckField.READ_ONLY);
PdfFormField ck = bt.getCheckField();
writer.addAnnotation(ck);
}
これにより、ボックスを作成するために、左下の X 座標と Y 座標、右上の X 座標と Y 座標を送信できます。これは、チェックボックスを作成するドキュメントの最初のページでうまくいくようです。後のページで作成しようとすると、表示されません。
例: PDF フォームの 1 ページ目にテキストを作成し、新しいページを作成し、情報とチェックボックスを追加し、新しいページを作成し、情報とチェックボックスを追加します。チェックボックスのある両方のページに同じコードを使用しても、最後のページには実際にはチェックボックスが表示されません。