Sie sehen sich Hilfeinhalte der folgenden Version an:

AEM Forms Document Security Java SDK stellt APIs bereit, mit denen ein Benutzerkonto ein Dokument im Auftrag eines anderen Benutzers schützen kann, ohne die Berechtigungen zum Bearbeiten des Dokuments zu erhalten. Sie können die APIs in einem Arbeitsablauf-Prozess oder programmgesteuert als Dokumentdienst verwenden. Die folgenden neuen APIs wurden eingeführt:

  • protectDocumentUse Mit der ProtectDocument-API können Sie im Namen eines
    anderen Benutzerkontos eine Richtlinie auf ein Dokument anwenden. Die Berechtigungen des Benutzerkontos, das zum Anwenden der Richtlinie verwendet wird, bleiben auf den Schutz des Dokuments beschränkt. Es erhält keine Rechte zum Öffnen und Anzeigen des Dokuments. RMSecureDocumentResult protectDocument(Document inDoc, String documentName, String policySetName, String policyName, RMLocale locale, boolean bExactMatchForNames)
  • createLicenseUse Mit der createLicense-API können Sie im Namen eines anderen Benutzerkontos eine Lizenz für eine Richtlinie erstellen. PublishLicenseDTO createLicense(String policyId, String documentName, boolean logSecureDocEvent)
  • protectDocumentWithCoverPageUse Mit der ProtectDocumentWithCoverPage-API können Sie im Namen eines anderen Benutzers eine Richtlinie auf ein Dokument anwenden und ihm ein Deckblatt hinzufügen. Die Berechtigungen des Benutzerkontos, das zum Anwenden der Richtlinie verwendet wird, bleiben auf den Schutz des Dokuments beschränkt. Es erhält keine Rechte zum Öffnen und Anzeigen des Dokuments. RMSecureDocumentResult protectDocumentWithCoverPage(Document inDoc, String documentName, String policySetName, String policyName, Document coverDoc, boolean bExactMatchForNames)

Schützen von Dokumenten im Auftrag eines anderen Benutzers mithilfe der APIs

Führen Sie die folgenden Schritte aus, um ein Dokument im Auftrag eines anderen Benutzers zu schützen, ohne die Berechtigungen zum Bearbeiten des Dokuments zu erhalten.

  1. Erstellen Sie einen Richtliniensatz. Beispiel: PolicySet1.

  2. Erstellen Sie eine Richtlinie im neu erstellten Richtliniensatz. Beispiel: Policy1 in PolicySet1.

  3. Erstellen Sie einen Benutzer mit der Rolle „Rights Management-Endbenutzer“. Beispiel: User1. Legen Sie die Berechtigungen zum Anzeigen von Dokumenten, die mit Policy1 geschützt wurden, für den neu erstellten Benutzer fest.

  4. Erstellen Sie eine neue Rolle. Beispiel: Role1. Geben Sie die Serviceaufrufberechtigung für die neu erstellte Rolle an. Erstellen Sie einen Benutzer mit der neu erstellten Rolle. Beispiel: Benutzer2. Sie können User2 oder einen Administrator zum Erstellen einer SDK-Verbindung und zum Aufrufen des protectDocument-Dienstes verwenden.

    Jetzt können Sie den folgenden Beispielcode ausführen, um ein Dokument zu schützen, ohne Berechtigungen zum Bearbeiten des Dokuments für den Benutzer bereitzustellen, der das Dokument schützt:

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;
    
    import com.adobe.edc.common.dto.PublishLicenseDTO;
    import com.adobe.edc.sdk.SDKException;
    import com.adobe.idp.Document;
    import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
    import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
    import com.adobe.livecycle.rightsmanagement.RMSecureDocumentResult;
    import com.adobe.livecycle.rightsmanagement.client.DocumentManager;
    import com.adobe.livecycle.rightsmanagement.client.RightsManagementClient;
    import com.adobe.livecycle.rightsmanagement.client.RightsManagementClient2;
    
    public class PublishAsProtectAPI {
    
    private static final String unprotectedFileName = "C:\\unprotected.pdf";
    private static final String protectedFileName = "C:\\protect.pdf";
    private static final String coverFileName = "C:\\CoverPage.pdf";
    private static final String POLICY_ID = "2EF66008-5E2D-1034-9B06-00000A292C18"; 
    
    public static void main(String[] args) {
    
    try {
    
    Properties connectionProps = new Properties();
    connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT,"http://localhost:8080");
    connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);
    connectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
    connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME,"administrator");
    connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD,"password");
    
    // Create a ServiceClientFactory instance
    ServiceClientFactory factory = ServiceClientFactory.createInstance(connectionProps);
    testProtectDocument(factory);
    testProtectDocumentWithCoverPage(factory);
    testProtectDocumentJavaPPL(factory);
    
    } 
    catch (Exception ex) {
    ex.printStackTrace(); }
    }
    
    private static void testProtectDocument(ServiceClientFactory factory) throws FileNotFoundException, SDKException {
    // Create a RightsManagementClient object
    RightsManagementClient rmClient = new RightsManagementClient(factory);
    // Create a Document Manager object
    DocumentManager documentManager = rmClient.getDocumentManager();
    //Reference a policy-protected PDF document from which to remove a policy
    FileInputStream is = new FileInputStream(unprotectedFileName);
    Document inPDF = new Document(is);
    long startTime = System.currentTimeMillis();
    //Remove a policy from the policy-protected PDF document
    RMSecureDocumentResult securePDF = documentManager.protectDocument(inPDF, "test", "newPolicySet", "latest", "DefaultDom", "administrator", null, true);
    System.out.println("Total Time taken for protectDocument = " + (System.currentTimeMillis() - startTime));
    //Save the unsecured PDF document
    File myFile = new File(protectedFileName);
    securePDF.getProtectedDoc().copyToFile(myFile);
    }
    
    private static void testProtectDocumentWithCoverPage(ServiceClientFactory factory) throws FileNotFoundException, SDKException {
    // Create a RightsManagementClient object
    RightsManagementClient rmClient = new RightsManagementClient(factory);
    // Create a Document Manager object
    DocumentManager documentManager = rmClient.getDocumentManager();
    //Reference a policy-protected PDF document from which to remove a policy
    FileInputStream is = new FileInputStream(unprotectedFileName);
    Document inPDF = new Document(is);
    FileInputStream coverIS = new FileInputStream(coverFileName);
    Document inCoverPDF = new Document(coverIS);
    long startTime = System.currentTimeMillis();
    //Remove a policy from the policy-protected PDF document
    RMSecureDocumentResult securePDF = documentManager.protectDocumentWithCoverPage(inPDF, "test", "newPolicySet", "latestPolicy", inCoverPDF, true);
    System.out.println("Total Time taken for Page0ProtectDocument = " + (System.currentTimeMillis() - startTime));
    //Save the unsecured PDF document
    File myFile = new File(protectedFileName);
    securePDF.getProtectedDoc().copyToFile(myFile);
    }
    
    private static PublishLicenseDTO testProtectDocumentJavaPPL (ServiceClientFactory factory) throws SDKException, FileNotFoundException, IOException {
    // Create a RightsManagementClient object
    RightsManagementClient2 rmClient2 = new RightsManagementClient2(factory);
    // Create a Document Manager object
    DocumentManager documentManager = rmClient2.getDocumentManager();
    long startTime = System.currentTimeMillis();
    PublishLicenseDTO license = documentManager.createLicense(POLICY_ID, "Out.pdf", true);
    System.out.println("Create License totalTime = " + (System.currentTimeMillis() - startTime));
    startTime = System.currentTimeMillis();
    // Reference a PDF document to which a policy is applied
    InputStream inputFileStream = new FileInputStream(unprotectedFileName);
    // Apply a policy to the PDF document
    InputStream protectPDF = rmClient2.getRightsManagementEncryptionService().protectDocument(inputFileStream, license);
    // Save the policy-protected PDF document
    File myFile = new File(protectedFileName);
    // write the inputStream to a FileOutputStream
    FileOutputStream outputStream = new FileOutputStream(myFile);
    int read = 0;
    byte[] bytes = new byte[1024];
    while ((read = protectPDF.read(bytes)) != -1) {
    outputStream.write(bytes, 0, read);
    }
    System.out.println("protectPDFDocument totalTime = " + (System.currentTimeMillis() - startTime));
    outputStream.close();
    inputFileStream.close();
    System.out.println("Document Protected Successfully");
    return license;
    }
    }
    
    

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie