私はPDFBoxの値をPDFで設定するためにPDFBoxライブラリを使用しています。私はリストボックスに値を設定しようとしていてPDFBoxのPDListBoxに複数のオプションを設定するにはどうすればよいですか?
コードブロックは、結果で
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
悪いニュース:ソースコードに「複数選択が設定されている場合、複数項目を強調表示する」というソースコードがあります。つまり、まだ実装されていません。回避策は、生成されたPDFがAdobe Readerのみで使用されている場合は、 'acroForm.setNeedAppearances(true)'を呼び出します。 –
良いニュース:私は問題に取り組んでいます:https://issues.apache.org/jira/browse/PDFBOX-3828 –
スナップショットでテストすることができます:https://repository.apache.org/content/groups /snapshots/org/apache/pdfbox/pdfbox-app/2.0.7-SNAPSHOT/ –