Vous devez vous familiariser avec les concepts de sécurité documentaire, d’extensions Reader et de langage de programmation Java afin d’étendre Reader aux documents PDF protégés par une stratégie de sécurité documentaire.
Vous pouvez utiliser la sécurité documentaire pour restreindre l’accès à des documents PDF spécifiques uniquement à des utilisateurs autorisés. Vous pouvez également déterminer la manière dont un destinataire peut utiliser un document protégé. Par exemple, vous pouvez indiquer si les destinataires peuvent imprimer, copier ou modifier le texte d’un document protégé par une stratégie de protection documentaire. Pour en savoir plus sur la protection documentaire, voir À propos de la sécurité documentaire.
Vous pouvez utiliser des extensions Reader pour activer des fonctions interactives dans les documents Adobe PDF via Acrobat Reader. Ces fonctions interactives sont normalement disponibles uniquement via Adobe Acrobat Professional et standard. Pour en savoir plus sur les fonctions interactives que l’extension Reader peut activer, voir Service DocAssurance Adobe Experience Manager Forms .
Vous pouvez utiliser la bibliothèque portable de protection pour appliquer des stratégies à des documents, sans avoir recours aux document transitant par le réseau. Seules les informations d’identification de sécurité et les stratégies de protection transitent sur le réseau. Le document ne quitte jamais le client et les stratégies de protection s’appliquent localement sur le client.
Les documents protégés par une stratégie sont chiffrés. Il n’est pas possible d’utiliser les API Reader Extension standard pour appliquer, supprimer et rechercher des droits d’utilisation dans des documents PDF protégés par une stratégie. Seul le service Reader Extensions de la bibliothèque portable de protection fournit des API nécessaires à l’exécution d’une telle tâche.
Le service d’extension Reader dote un document PDF de droits d’utilisation qui activent des fonctions généralement non indisponibles à l’ouverture d’un document PDF dans Adobe Acrobat Reader. Il est également doté d’API qui suppriment et recherchent des droits d’utilisation dans les documents PDF protégés par une stratégie.
Le service Reader Extensions prend totalement en charge les documents PDF basés sur la norme PDF 1.6 et versions ultérieures. Indépendamment d’Acrobat Reader, les utilisateurs tiers n’ont pas besoin de disposer d’un logiciel supplémentaire ni de modules externes pour utiliser les documents PDF protégés par une stratégie.
Vous pouvez exécuter les tâches ci-dessous à l’aide du service Reader Extensions :
Vous pouvez utiliser l’API Java applyUsageRights
pour appliquer des droits d’utilisation aux documents PDF protégés par une stratégie. Les droits d’utilisation appartiennent à la fonctionnalité disponible par défaut dans Acrobat mais non dans Adobe Reader, telle que la capacité à ajouter des commentaires à un formulaire ou à remplir des champs de formulaire et enregistrer ce dernier. Les documents PDF dotés de droits d’utilisation sont appelés des documents dont les droits sont activés. Un utilisateur qui ouvre un document dont les droits sont activés dans Adobe Reader peut effectuer les opérations autorisées pour ce document spécifique.
Syntaxe : InputStream applyUsageRights(InputStream inputFile, File certFile, String credentialPassword, UsageRights usageRights)
Paramètre |
Description |
inputFile |
Spécifiez InputStream correspondant au document PDF auquel des droits d’utilisation doivent être appliqués. Vous pouvez utiliser les documents protégés par la sécurité documentaire LiveCycle Rights Management ou AEM Forms. |
certFile |
Spécifiez l’objet File représentant un fichier .jks. Le fichier .jks est un fichier de stockage de clés. Il indique un certificat qui accorde des droits d’utilisation. |
credentialPassword |
Spécifiez le mot de passe du stockage de clés. |
usageRights |
Spécifie un objet de type UsageRights. L’objet usageRights représente les droits individuels qui peuvent être appliqués à un document PDF protégé par une stratégie. |
Vous pouvez utiliser l’API Java getDocumentUsageRights
pour récupérer les droits d’utilisation de l’extension Reader appliqués à un document PDF protégé par une stratégie. En récupérant des informations sur les droits d’utilisation, vous pourrez en savoir davantage sur les fonctionnalités Reader Extension activées pour le document PDF protégé par une stratégie.
Syntaxe : public GetUsageRightsResult getDocumentUsageRights(InputStream inDoc)
Paramètre |
Description |
inDoc |
Spécifiez InputStream correspondant au document PDF duquel des droits d’utilisation doivent être supprimés. Vous pouvez utiliser les documents protégés par la sécurité documentaire LiveCycle Rights Management ou AEM Forms. |
//Create a ServiceClientFactory instance
ServiceClientFactory factory = ServiceClientFactory.createInstance(connectionProps);
//Create a RightsManagementClient object
RightsManagementClient2 rmClient2= new RightsManagementClient2(factory);
String inputFileName = "C:\\Sample\\protected.pdf"; //Input file can be RM protected or unprotected pdf file
File certFile = new File("C:\\Sample\\cert.jks"); //RE certificate file
String password = "password"; //password for RE certificate
UsageRights usageRights = getUsageRights(true,true,false,false,true,true,false,false,false,false,true);
//RE rights to be applied on the file : FormFillIn, FormDataImportExport, SubmitStandalone, OnlineForms, DynamicFormField, DynamicFormPages, BarcodeDecoding, DigitalSignatures, Comments, CommentsOnline, EmbeddedFiles
InputStream inputFileStream = new FileInputStream(inputFileName);
InputStream output = rmClient2.getRightsManagementReaderExtensionService().applyUsageRights(inputFileStream, certFile, credentialPassword, rights);
String outputFileName = "C:\\Sample\\ReAdded.pdf";
//Save the PDF document
File myFile = new File(outputFileName);
FileOutputStream outputStream = new FileOutputStream(myFile);
int read = 0;
byte[] bytes = new byte[1024];
while ((read = output.read(bytes)) != -1) {
outputStream.write(bytes, 0, read);
}
System.out.println("UsageRights applied successfully to the document. ");
outputStream.close();
inputFileStream.close();
//Get Usage Rights for the output pdf document
InputStream fileWithRe = new FileInputStream(myFile);
GetUsageRightsResult usageRights = rmClient2.getRightsManagementReaderExtensionService().getDocumentUsageRights(fileWithRe);
UsageRights rights = usageRights.getRights();
String right1 = rights1.toString();
System.out.println("RE rights for the file are :\n"+right1);
fileWithRe.close();
Vous pouvez utiliser l’API Java removeUsageRights
pour supprimer des droits d’utilisation d’un document protégé par une stratégie. La suppression des droits d’utilisation d’un document PDF protégé par une stratégie est nécessaire avant d’exécuter d’autres opérations AEM Forms sur le document. Vous devez par exemple signer numériquement (ou certifier) un document PDF avant de définir ses droits d’utilisation. Par conséquent, pour effectuer des opérations sur un document défini avec des droits d’utilisation, vous devez supprimer les droits du document PDF, effectuer les autres opérations, comme la signature numérique d’un document, puis réappliquer des droits d’utilisation à ce même document.
Syntaxe : InputStream removeUsageRights(InputStream inputFile)
Paramètre |
Description |
inputFile |
Spécifiez InputStream correspondant au document PDF duquel des droits d’utilisation doivent être supprimés. Vous pouvez utiliser les documents protégés par la sécurité documentaire LiveCycle Rights Management ou AEM Forms. |
//Create a ServiceClientFactory instance
ServiceClientFactory factory = ServiceClientFactory.createInstance(connectionProps);
//Create a RightsManagementClient object
RightsManagementClient2 rmClient2= new RightsManagementClient2(factory);
String inputFileName = "C:\\Sample\\fileWithRe.pdf"; //Input file can be RM protected or unprotected pdf file
InputStream inputFileStream = new FileInputStream(inputFileName);
InputStream fileStream = rmClient2.getRightsManagementReaderExtensionService().removeUsageRights(inputFileStream);
String outputFileName = "C:\\Sample\\ReRemoveded.pdf";
//Save the PDF document
File myFile = new File(outputFileName);
FileOutputStream outputStream = new FileOutputStream(myFile);
int read = 0;
byte[] bytes = new byte[1024];
while ((read = fileStream.read(bytes)) != -1) {
outputStream.write(bytes, 0, read);
}
System.out.println("RE rights removed successfully from the document.");
outputStream.close();
inputFileStream.close();