2016-07-13 14 views
0

Ich habe in zwei Bibliotheken gesucht, um dies zu tun, um keinen Erfolg zu haben. Ich bin nicht der Erfahrenste.Wie man eine gesicherte PDF aus Tabellenkalkulationsdaten füllt [Java]

PDFBox - Ich denke, da es sich um ein gesichertes PDF handelt, konnte die PDDocument-Klasse die zu füllenden Felder nicht laden. Adobe FDFToolkit - Ich konnte die Felder nicht aus der Datei abrufen, da es sich um ein PDF und nicht um ein FDF handelt. Nicht sicher, wie man konvertiert. iText - org/bouncycastle/asn1/ASN1OctetString Fehler beim Öffnen der PDF-Datei

Ich habe Probleme, etwas von diesen aufgrund der Art der Datei zu arbeiten. Es ist ein Einwanderungsformular der Regierung, das Sie hier finden können: https://www.uscis.gov/sites/default/files/files/form/i-589.pdf. Irgendwelche Ideen um das zu umgehen?

+0

Sie sollten wissen, was Sie tun möchten. Erstellen Sie eine PDF, die wie eine Excel-Datei aussieht? Oder bestimmte Felder aus einer Excel-Datei zu einem PDF mit Formularfeldern (acroform) zuordnen? Re acroform, PDFBox hat Beispiele im Quellcode-Download. –

+0

Warum hast du deine Frage mit itext versehen, wenn du nicht mit iText versucht hast? –

+0

Ich versuche derzeit iText zu verwenden. Mir war bewusst, dass es ähnlich war. –

Antwort

0

Ihr Formular wird mit einem Besitzerkennwort verschlüsselt. Die Berechtigungen sind so eingestellt, dass sie das Ausfüllen von Formularen erlauben, aber iText und PdfBox sind derzeit so feinkörnig, dass sie diese Berechtigungen prüfen können: Wenn ein PDF verschlüsselt ist, werden Sie aufgefordert, ein Passwort anzugeben.

Mit iText gibt es jedoch eine Einstellung namens unethicalreading. Siehe How to decrypt a PDF document with the owner password? in der offiziellen Dokumentation:

PdfReader.unethicalreading = true; 

Durch diese statische Variable true Einstellung wird die PDF behandelt, als ob sie nicht verschlüsselt wurden.