2016-08-16 17 views
0

Ich generiere PDFs mit Formularfeldern programmgesteuert mit Apache PDFBox (Java). Beim Laden der PDF-Datei mit PDF.JS/Firefox wird der Inhalt dieser Felder jedoch nicht angezeigt. Wenn Sie die Dateien mit einem eigenständigen Viewer oder Chrome öffnen, wird der Inhalt dieser Felder korrekt angezeigt.PDF-Formular Feld Inhalt nicht angezeigt

Ich weiß, dass PDF.JS nicht die Bearbeitung von AcroForms unterstützt, aber ich habe gelesen, dass nur die Anzeige kein Problem sein sollte.

Hier ist eine generierte PDF, die nicht korrekt mit Pdf.js/Firefox angezeigt wird:

https://drive.google.com/file/d/0B197M5cYPdP4U2hhV1U2UURpSE0/view?usp=sharing

+1

Wie haben Sie das PDF generiert? Können Sie einen Beispielcode freigeben? Welche Version von PDFBox hast du benutzt? Der Grund dafür, dass nichts angezeigt wird, ist, dass, obwohl der Wert für das Formularfeld festgelegt wurde, es nicht in den Darstellungsstrom überging, d. H. Es ist fast leer. Der Erscheinungsbild-Stream wird zum Anzeigen des Inhalts der Felder verwendet. –

+0

Das PDF wurde von LibreOffice 4.2.8.2 (Datei -> Export als PDF) erstellt. Dann wurden die Felder von PDFBox gesetzt. Aber ich habe auch versucht, das Formular mit LibreOffice zu füllen und der Inhalt wird auch nicht angezeigt ... Also ich nehme an, dass das Problem mit der PDF-Generierung mit LibreOffice zusammenhängt. Derzeit versuche ich, das PDF mit einer anderen Anwendung (Acrobat DC Pro) zu erstellen. – enigma969

+1

OpenOffice/LibreOffice tendiert zum Exportieren von PDFs mit dem Flag ** NeedAppearances **, das auf "true" gesetzt ist. Dies fordert den PDF-Viewer auf, Erscheinungsbilder zu generieren. PDF-Prozessoren, die solche PDFs ausfüllen, reagieren häufig auf diese Flagge, indem sie selbst keine Auftritte erstellen; Der PDF-Viewer wird schließlich aufgefordert, Erscheinungen zu generieren. Leider wissen jedoch zahlreiche unvollständige PDF-Betrachter nicht, wie sie aussehen. Daher ignorieren sie die Flagge und zeigen, was sie finden: keine Erscheinungen. – mkl

Antwort

0

Lösung wurde die Flagge "NeedAppearances" false als mkl und Maruan Sahyoun erwähnt in der einzustellen Bemerkungen. Vielen Dank.

PDDocumentCatalog docCatalog = _pdfDocument.getDocumentCatalog(); 
PDAcroForm acroForm = docCatalog.getAcroForm(); 
acroForm.setNeedAppearances(false); 
Verwandte Themen