如何在PDFBox中为PDListBox设置多个选项?

时间:2017-06-09 11:04:26

标签: java pdf pdfbox

我正在使用PDFBox库来设置PDF中的值。

代码块通过我试图在ListBox中设置值

public class App {
public static void main(String[] args) {
    App app = new App();
    app.test();
}
public void test(){
    try {
        InputStream resource = getClass().getResourceAsStream("/2.pdf");
        PDDocument pdfDocument = PDDocument.load(resource);
        PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog();
        PDAcroForm acroForm = docCatalog.getAcroForm();
        PDListBox listBox = (PDListBox) acroForm.getField("multiple_listbox");
        List<String> list = Arrays.asList("option 2", "option 1");
        System.out.println("Set value in listBox: " + list);
        listBox.setValue(list);
        System.out.println("Get Value from list box: " + listBox.getValue());
        pdfDocument.save("pdfupdate.pdf");
        pdfDocument.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

结果显示只有第一个值是从PDF中的List<String>中选出的 检查结果:

如何在PDF中设置多个值?
PDFBox版本:2.0.6
来源pdf:https://www.dropbox.com/s/5cbicbuwu0kjwlq/2.pdf?dl=0

1 个答案:

答案 0 :(得分:2)

这是PDFBox中的一个错误,最高为2.0.6,已在问题PDFBOX-3828中修复。修复程序将在2.0.7版本中,预计将在2017年夏末/秋季发布。对于那些等不及的人,请在此处获取snapshot version(在该网页的底部)。