0

iText を使用して、Java によって生成されたフィールドを含む pdf フォームを作成しています。PDF フォームに入力し、送信ボタンをクリックすると、フィールドの値がサーバーに送信され、データベースに保存されます。私の問題は、入力中にフォーム フィールドが表示されないことです。フォントが透明のようで、それらのフィールドに入力したテキストを選択してもテキストが表示されません。しかし、送信元をサーバーに送り返すことで、すべてのデータが適切に保存されます。フォームの作成中にフォントパラメーターを設定するために使用しているcpdeの一部を次に示します。

PdfWriter writer = stamper.getWriter();

String fieldName = df.getFofdName();
String value = formfieldValues.get(fieldName);

TextField tf = new TextField(writer, fieldName);
tf.setBackgroundColor(Color.WHITE);
if (showBorders) {
    tf.setBorderColor(Color.BLACK);
}
if (isMultiline) {
    tf.setOptions(BaseField.MULTILINE);
}

BaseFont bf = BaseFont.createFont("C:/Windows/Fonts/Arial.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
tf.setExtensionFont(BaseFont.createFont());
ArrayList<BaseFont> list = new ArrayList<BaseFont>();
list.add(bf);
tf.setSubstitutionFonts(list);
tf.setText(value);
stamper.addAnnotation(tf.getTextField(), 1);

助言がありますか?

4

0 に答える 0