使用iText Library为可填写文本实现复选框和单选按钮

时间:2015-09-26 22:53:32

标签: java android checkbox itext itextpdf

我已经搜索了谷歌的第七页,我根本无法找到答案! 我正在使用文本来允许用户编辑包含单选按钮和复选框的表单,因此当用户在应用程序中的xml上标记一个复选框时,它会检查pdf上的复选框。但是当我运行应用程序时,它对生成和邮寄的pdf没有影响。 这是我选中复选框和单选按钮时获得的代码片段:

PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(file));
                final AcroFields acroFields = stamper.getAcroFields();
if (checkBox.isChecked()) {
                    acroFields.setField("rf", String.valueOf(true));
                } else if (checkBox2.isChecked()) {
                    acroFields.setField("rwd",String.valueOf(true));
                } else if (checkBox3.isChecked()) {
                    acroFields.setField("ca", String.valueOf(true));
                } else if (checkBox4.isChecked()) {
                    acroFields.setField("lt", String.valueOf(true));
                } else if (checkBox5.isChecked()) {
                    acroFields.setField("d", String.valueOf(true));
                } else if (checkBox6.isChecked()) {
                    acroFields.setField("o", String.valueOf(true));
                }
                radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
                    @Override
                    public void onCheckedChanged(RadioGroup group, int checkedId) {
                        if(radioButton.isChecked()){
                            try {
                                acroFields.setField("male",String.valueOf(true));
                            } catch (IOException e) {
                                e.printStackTrace();
                            } catch (DocumentException e) {
                                e.printStackTrace();
                            }
                        }else if (radioButton2.isChecked()){
                            try {
                                acroFields.setField("female",String.valueOf(true));
                            } catch (IOException e) {
                                e.printStackTrace();
                            } catch (DocumentException e) {
                                e.printStackTrace();
                            }
                        }
                    }
                });


                stamper.setFormFlattening(true);
                //stamper.getAcroFields();
                stamper.close();
            } catch (DocumentException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            reader.close();
            //document.add();

        }
    });

我也试过替换

String.valueOf(true)

"on"

但在我将邮寄给自己后,没有人对可填写的pdf进行了更改。 我究竟做错了什么? 是否有其他方法可以在pdf上显示复选框或单选按钮?

0 个答案:

没有答案