mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2024-11-16 12:20:12 +01:00
info permission fix
This commit is contained in:
parent
622ee29dd8
commit
58ad7a1e8a
@ -1,6 +1,7 @@
|
|||||||
package stirling.software.SPDF.controller.api.security;
|
package stirling.software.SPDF.controller.api.security;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import org.apache.pdfbox.pdmodel.encryption.AccessPermission;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
@ -331,8 +332,21 @@ public class GetInfoOnPDF {
|
|||||||
PDEncryption pdfEncryption = pdfBoxDoc.getEncryption();
|
PDEncryption pdfEncryption = pdfBoxDoc.getEncryption();
|
||||||
encryption.put("EncryptionAlgorithm", pdfEncryption.getFilter());
|
encryption.put("EncryptionAlgorithm", pdfEncryption.getFilter());
|
||||||
encryption.put("KeyLength", pdfEncryption.getLength());
|
encryption.put("KeyLength", pdfEncryption.getLength());
|
||||||
encryption.put("Permissions", pdfBoxDoc.getCurrentAccessPermission().toString());
|
AccessPermission ap = pdfBoxDoc.getCurrentAccessPermission();
|
||||||
|
if (ap != null) {
|
||||||
|
ObjectNode permissionsNode = objectMapper.createObjectNode();
|
||||||
|
|
||||||
|
permissionsNode.put("CanAssembleDocument", ap.canAssembleDocument());
|
||||||
|
permissionsNode.put("CanExtractContent", ap.canExtractContent());
|
||||||
|
permissionsNode.put("CanExtractForAccessibility", ap.canExtractForAccessibility());
|
||||||
|
permissionsNode.put("CanFillInForm", ap.canFillInForm());
|
||||||
|
permissionsNode.put("CanModify", ap.canModify());
|
||||||
|
permissionsNode.put("CanModifyAnnotations", ap.canModifyAnnotations());
|
||||||
|
permissionsNode.put("CanPrint", ap.canPrint());
|
||||||
|
permissionsNode.put("CanPrintDegraded", ap.canPrintDegraded());
|
||||||
|
|
||||||
|
encryption.set("Permissions", permissionsNode); // set the node under "Permissions"
|
||||||
|
}
|
||||||
// Add other encryption-related properties as needed
|
// Add other encryption-related properties as needed
|
||||||
} else {
|
} else {
|
||||||
encryption.put("IsEncrypted", false);
|
encryption.put("IsEncrypted", false);
|
||||||
|
Loading…
Reference in New Issue
Block a user