Ich verwende PDFBox-Bibliothek, um die Werte in PDF festzulegen.Wie Sie mehrere Optionen für PDListBox in PDFBox festlegen?
Codeblock durch Ich versuche, um Werte in 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();
}
}
in Folge zeigt es nur erster Wert von List<String>
in PDF ausgewählt ist.
Prüfergebnis hier:
Wie kann ich in PDF ausgewählt mehrere Werte eingestellt?
PDFBox Version: 2.0.6
Quelle pdf: https://www.dropbox.com/s/5cbicbuwu0kjwlq/2.pdf?dl=0
Schlechte Nachrichten: der Quellcode hat "// TODO: unterstützt die Hervorhebung mehrerer Elemente, wenn Multiselect eingestellt ist", d. H. Es ist noch nicht implementiert. Problemumgehung, wenn die generierten PDFs nur in Adobe Reader verwendet werden: Rufen Sie 'acroForm.setNeedAppearances (true)' auf. –
Gute Nachrichten: Ich arbeite an dem Problem: https://issues.apache.org/jira/browse/PDFBOX-3828 –
Sie können mit einem Snapshot testen: https://repository.apache.org/content/groups /snapshots/org/apache/pdfbox/pdfbox-app/2.0.7-SNAPSHOT/ –