2017-06-09 1 views
1

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

+1

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. –

+0

Gute Nachrichten: Ich arbeite an dem Problem: https://issues.apache.org/jira/browse/PDFBOX-3828 –

+0

Sie können mit einem Snapshot testen: https://repository.apache.org/content/groups /snapshots/org/apache/pdfbox/pdfbox-app/2.0.7-SNAPSHOT/ –

Antwort

2

Dies ist ein Fehler in PDFBox bis 2.0.6 und hat in der Ausgabe PDFBOX-3828 behoben. Das Update wird in der Version 2.0.7 sein, voraussichtlich im Spätsommer/Herbst 2017. Für diejenigen, die nicht warten können, erhalten Sie eine snapshot version hier (am Ende dieser Webseite).

+0

Können Sie mir genau das Datum der Veröffentlichung von PDFBox Version 2.0.7 sagen? –

+0

Nein kann ich nicht. Basierend auf der Vergangenheit (https://archive.apache.org/dist/pdfbox/), wurden die Releases alle 2-4 Monate veröffentlicht. Bitte haben Sie Verständnis, dass wir ein kleines Team sind, dass dies in unserer Freizeit nach der Arbeit macht. Einige von uns haben Familien, werden krank, machen Urlaub, etc. Eine Veröffentlichung ist mehr als nur ein paar JAR-Dateien zu kopieren. Wenn Sie keinen Snapshot verwenden möchten, nehmen Sie den Quellcode 2.0.6, führen Sie die Änderung durch (siehe Link von dem Problem), und erstellen Sie neu. P.S. Bitte klicken Sie auf das grüne Häkchen, um zu bestätigen, dass die Antwort korrekt ist. –

Verwandte Themen