Ochrona plików PDF za pomocą PDFBox

Naprawdę zmagam się z dokumentacją PDFBox. Dla takiej popularnej biblioteki informacje wydają się być trochę cienkie na ziemi (dla mnie!).

W każdym razie problem związany jest z ochroną pliku PDF. W tej chwili chcę tylko kontrolować uprawnienia dostępu użytkowników. w szczególności chcę uniemożliwić użytkownikowi modyfikowanie pliku PDF.

Jeśli pominę kod dostępu, wszystko działa doskonale. Czytam w pliku PDF z zewnętrznego zasobu. Następnie czytam i zapełniam pola, dodając kilka zdjęć przed zapisaniem nowego pliku PDF. To wszystko działa doskonale.

Problem pojawia się, gdy dodam następujący kod do zarządzania dostępem:

/* 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);
}

Gdy dodaję ten kod, cały tekst i obrazy są rozbierane z wychodzącego pliku pdf. Pola są nadal obecne w dokumencie, ale wszystkie są puste, a cały tekst i obrazy, których część oryginalnego pliku PDF i które zostały dodane dynamicznie w kodzie nie ma.

UPDATE: Ok, najlepiej jak mogę powiedzieć, że problem pochodzi z błędu związanego z polami formularza. Spróbuję innego podejścia bez pól formularza i zobaczę, co daje.

questionAnswers(1)

yourAnswerToTheQuestion