Schutz von PDF mit PDFBox

Im wirklich kämpfen, mit der Dokumentation von PDFBox. Für solch eine populäre Bibliothek info scheint zu sein, ein wenig Dünn auf dem Boden (für mich!).

Sowieso das problem, das ich habe bezieht sich auf den Schutz der PDF-Datei. Im moment alles was ich will ist die Kontrolle der Zugriffsrechte der Benutzer. speziell möchte ich verhindern, dass der Benutzer in der Lage, um die PDF-Datei ändern.

Wenn ich übergehe die Zugriffsberechtigung code funktioniert alles perfekt. Ich lese in einer PDF-Datei aus einer externen Ressource. Ich bin dann zu Lesen und füllen Sie die Felder, indem einige Bilder vor dem speichern der neuen PDF-Datei. Das alles funktioniert perfekt.

Das problem kommt, wenn ich, fügen Sie den folgenden code zum verwalten des Zugriffs:

/* Secure the PDF so that it cannot be edited */
try {
    String ownerPassword = "DSTE$gewRges43";
    String userPassword = "";

    AccessPermission ap = new AccessPermission();
    ap.setCanModify(false);

    StandardProtectionPolicy spp = new StandardProtectionPolicy(ownerPassword, userPassword, ap);
    pdf.protect(spp);
} catch (BadSecurityHandlerException ex) {
    Logger.getLogger(PDFManager.class.getName()).log(Level.SEVERE, null, ex);
}

Wenn ich fügen Sie diesen code, alle Texte und Bilder sind gestreift aus dem ausgehenden pdf-Datei. Die Felder sind immer noch im Dokument vorhanden, aber Sie sind alle leer und alle Texte und Bilder, wo ein Teil der ursprünglichen PDF-Datei und Hinzugefügt wurden dynamisch in den code gegangen sind.

UPDATE:
Ok, so gut wie ich kann sagen, das problem kommt von einem bug in Bezug auf die Formularfelder. Ich werde versuchen, einen anderen Ansatz, ohne die form-Felder und sehen, was es gibt.

  • Ich habe das gleiche problem mit random PDFs Rückkehr Rohlinge. Irgendwelche Ideen?
  • Ich habe nie auf den Grund dieses Problems. Am Ende hatte ich die Verwendung einer anderen Bibliothek!
  • Danke. Ich fand eine Lösung für Sie.
  • Der link zu docs für den Verweis: pdfbox.apache.org/2.0/cookbook/encryption.html
InformationsquelleAutor tarka | 2012-10-25
Schreibe einen Kommentar