-1

以下のようないくつかのフィールドを含む PDF フォームがあります
PDF ダウンロード リンク
入力テキスト フィールド名を「名前」として
入力 チェックボックス フィールド名を「言語」として
入力 ラジオ ボタン フィールド名を「性別」として入力
コンボボックス フィールド名を「ジョブ」として選択
送信ボタン アクションHTML 形式として、URL をhttp://local.test.com/servlet1に送信します。

そしてコードがブローのようなサーブレット1

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    for(Enumeration e = request.getParameterNames(); e.hasMoreElements();) {
        String paraName = (String) e.nextElement();
        String paramValue = URLDecoder.decode(new String(request.getParameter(paraName).getBytes("iso-8859-1")), "UTF-8");
        System.out.println(paraName + "=" + paramValue);
    }               
}

PDFフォームにデータを入力して送信をクリックすると、以下のようなシステム出力が得られました

SystemOut     O sex=M
SystemOut     O input7=eric
SystemOut     O input34=zhTW
SystemOut     O job=1

「性別」(ラジオボタン)と「仕事」(コンボ選択)のフィールドはOKなのに、「名前」(入力テキスト)と「言語」(チェックボックス)のフィールド名が「inputXX」に変更されているのはなぜですか?

そして、私は使用しようとします

request.getParameter("name")

そして、私はnullになりました...

何か提案はありますか?どうもありがとう...

4

3 に答える 3

0

name識別子を使用してテキスト フィールドの値をエクスポートする場合input7、名前フィールドのフィールド ディクショナリには、キーを使用してエクスポートするフィールド値を要求するエントリが含まれているため、PDF ビューアーは要求されたとおりに実行しますinput7。他の分野についても同様です。

詳細には、フィールド ディクショナリ (オブジェクト 106 0) には次のエントリが含まれます。

/Ff 4194306
/F  4
/Type   /Annot
/Subtype    /Widget
/T  name
/AP Dictionary
/P  42 0 R
/MK Dictionary
/BS Dictionary
/FT /Tx
/Rect   [54.8909, 688.564, 161.891, 705.564]
/DA /Helv 0 Tf 0 g
/TM input7

最後のエントリをご覧ください。/TM キーは次のように定義されます ( ISO 32000-1:2008セクション 12.7.3.1 を参照)。

テキスト文字列(オプション; PDF 1.3)ドキュメントからインタラクティブフォームフィールドデータをエクスポートするときに使用されるマッピング名

input7フィールド値をそのキーでエクスポートしたくない場合は、その/TMエントリをフィールド定義から削除します。

于 2012-11-22T09:46:48.663 に答える
0

フォームを調べたところ、「name」という名前のフィールドと、データを URL に送信する送信ボタンが表示されます。これらの送信ボタンの 1 つは、サーバーに送信されるパラメーターの数を制限します。

すぐにエラーは発生しませんでしたが、次のサーブレットを使用してアプリケーションをデバッグすることをお勧めします: http://itextpdf.com/examples/iia.php?id=169

このサーブレットは、GET 要求の場合にすべてのパラメーターをクエリ文字列として表示します (ただし、一見すると、PDF はデータを POST するように構成されています)。POST の場合、送信されたすべてのデータが表示されます。このようにして、何が問題なのかを理解することができます。

お知らせください。

于 2012-11-22T08:13:26.263 に答える
0

PDFファイルはAcrobat X ProでHTMLファイルから翻訳されたもので、「名前」などのいくつかのフィールドに気付きました...

<input id="name" type='text'>

HTMLファイルを更新するよりも

<input name="name" type='text'>

もう一度PDFに変換して提出すれば、すべてOKです〜:)

于 2012-11-22T10:06:49.183 に答える