Reader-erweiternde richtliniengeschützte PDF-Dokumente mit der Portable Protection Library

Letzte Aktualisierung: 2023-02-13
  • Erstellt für:
  • User

Sie müssen mit den Konzepten von Dokumentensicherheit, der Readererweiterung und der Programmiersprache Java vertraut sein, um eine Reader-Erweiterung für die die durch Dokumentensicherheit richtliniengeschützten PDF-Dokumente durchzuführen.

Sie können Document Security verwenden, um den Zugriff auf bestimmte PDF-Dokumenten nur auf autorisierte Benutzer zu beschränken. Sie können auch bestimmen, wie ein Empfänger ein geschütztes Dokument nutzen darf. Sie können beispielsweise angeben, ob Empfänger Text eines durch Document Security richtliniengeschützte Dokuments drucken, kopieren oder bearbeiten können. Weitere Informationen zu Document Security finden Sie unter Informationen zu Document Security.

Verwenden Sie Reader Extensions, um interaktive Funktionen in Adobe PDF-Dokumenten über Acrobat Reader zu aktivieren. Diese interaktiven Funktionen sind normalerweise nur über Adobe Acrobat Professional und Acrobat Standard verfügbar. Weitere Informationen zu den interaktiven Funktionen, die Readererweiterung aktivieren kann, finden Sie unter DocAssurance-Dienst für Adobe Experience Manager Forms .

Sie können die Portable Protection Library verwenden, um Richtlinien auf das Dokument anzuwenden, ohne dass das Dokument über das Netzwerk gesendet werden muss.  Nur die Sicherheitsberechtigungen und Details der Schutzrichtlinie werden über das Netzwerk gesendet. Das Originaldokument verlässt den Client nicht und und die Schutzrichtlinien werden lokal auf dem Client angewendet.

Reader Extending von durch Document Security richtliniengeschützten Dokumenten

Die richtliniengeschützten Dokumente sind verschlüsselte Dokumente. Sie können keine standardmäßigen Reader Extension-APIs verwenden, um Verwendungsrechte für richtliniengeschützte PDF-Dokumente anzuwenden, zu entfernen und abzurufen. Nur der Readererweiterungs-Dienst von Portable Protection Library bietet APIs, um Verwendungsrechte für durch Dokumentensicherheit richtliniengeschützte PDF-Dokumente anzuwenden, zu entfernen und abzurufen.

Reader Extensions-Dienst

Der Reader Extension-Dienst fügt einem richtliniengeschützten PDF-Dokument Verwendungsrechte hinzu und aktiviert Funktionen, die normalerweise nicht verfügbar sind, wenn ein PDF-Dokument in Adobe Acrobat Reader geöffnet wird. Er enthält außerdem APIs zum Entfernen und Abrufen der Verwendungsrechte eines richtliniengeschützten Dokuments.

Der Reader Extensions-Dienst unterstützt vollständig sämtliche PDF-Dokumente basierend auf PDF-Standard 1.6 und höher. Abgesehen von Acrobat Reader benötigen externe Benutzer benötigen keine zusätzliche Software oder Plug-Ins für das Verwenden der richtliniengeschützten PDF-Dokumente.

Sie können die folgenden Aufgaben mit dem Reader Extensions-Dienst ausführen:

  • Anwenden von Verwendungsrechten auf ein richtliniengeschütztes PDF-Dokument
  • Entfernen von Verwendungsrechten für ein richtliniengeschütztes PDF-Dokument
  • Abrufen von angewendeten Verwendungsrechten für ein richtliniengeschütztes PDF-Dokument

Anwenden von Verwendungsrechten auf ein durch Dokumentensicherheit richtliniengeschütztes PDF-Dokument

Mit der Java-API applyUsageRights können Sie Verwendungsrechte für richtliniengeschützte PDF-Dokumente aktivieren. Verwendungsrechte gelten für Funktionen, die standardmäßig in Acrobat, nicht jedoch in Adobe Reader zur Verfügung stehen, wie etwa die Möglichkeit, Kommentare zu einem Formular hinzuzufügen oder Formularfelder auszufüllen und das Formular zu speichern. PDF-Dokumente, auf die Verwendungsrechte angewandt wurden, werden als Dokumente mit aktivierten Verwendungsrechten bezeichnet. Benutzer, die ein Dokument mit aktivierten Verwendungsrechten in Adobe Reader öffnen, können Vorgänge durchführen, die für dieses spezifische Dokument aktiviert sind.

Syntax: InputStream applyUsageRights(InputStream inputFile, File certFile, String credentialPassword, UsageRights usageRights)

Parameter

Beschreibung

inputFile

Geben Sie den InputStream an, der das PDF-Dokument darstellt, auf das die Verwendungsrechte angewendet werden sollen. Sie können durch LiveCycle Rights Management oder durch AEM Forms Document Security geschützte Dokumente verwenden.

certFile

Geben Sie das Dateiobjekt an, das eine.jks-Datei darstellt. Die.jks-Datei ist eine Keystore-Datei. Sie verweist auf ein Zertifikat, das die Verwendungsrechte gewährt.

credentialPassword

Legen Sie das Kennwort des Keystore fest.

usageRights

Gibt ein Objekt vom Typ UsageRights an. Das Objekt „UsageRights“ stellt individuelle Zugriffsrechte dar, die auf ein richtliniengeschütztes PDF-Dokument angewendet werden können.

Abrufen von angewendeten Verwendungsrechten für ein richtliniengeschütztes PDF-Dokument  

Mit der Java-API getDocumentUsageRights können Sie die Readererweiterungs-Verwendungsrechte abrufen, die auf ein richtliniengeschütztes PDF-Dokument angewendet wurden. Durch Abrufen von Informationen zu Verwendungsrechten erfahren Sie, welche Funktionen die Readererweiterung für das richtliniengeschützte PDF-Dokument aktiviert hat.

Syntax: public GetUsageRightsResult getDocumentUsageRights(InputStream inDoc)

Parameter

Beschreibung

inDoc

Geben Sie den InputStream an, der das PDF-Dokument darstellt, von dem die Verwendungsrechte abgerufen werden sollen. Sie können durch LiveCycle Rights Management oder durch AEM Forms Document Security geschützte Dokumente verwenden.

Codebeispiel

//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();

Entfernen von Verwendungsrechten für ein richtliniengeschütztes PDF-Dokument

Mit der Java-API removeUsageRights können Sie Verwendungsrechte von einem richtliniengeschützten Dokument entfernen. Das Entfernen von Verwendungsrechten aus einem richtliniengeschützte PDF-Dokument ist notwendig, um andere AEM Forms-Vorgänge darauf anzuwenden. Sie müssen beispielsweise ein PDF-Dokument digital signieren (bzw. zertifizieren), bevor Sie Verwendungsrechte festlegen. Wenn Sie demnach Vorgänge auf ein richtliniengeschütztes Dokument anwenden möchten, müssen Sie Verwendungsrechte vom PDF-Dokument entfernen, andere Vorgänge anwenden, z. B. das Dokument digital signieren, und anschließend die Verwendungsrechte wieder für das Dokument aktivieren.

Syntax: InputStream removeUsageRights(InputStream inputFile)

Parameter

Beschreibung

inputFile

Geben Sie den InputStream an, der das PDF-Dokument darstellt, von dem die Verwendungsrechte
entfernt werden sollen. Sie können durch LiveCycle Rights Management oder durch AEM Forms Document Security geschützte Dokumente verwenden.

Codebeispiel

//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();

Auf dieser Seite