You can use the Rights Management Service API (Java and
web service) to inspect policy-protected PDF documents. Inspecting
policy-protected PDF documents returns information about the policy-protected
PDF document. You can, for example, determine the policy that was
used to secure the document and the date when the document was secured.
You cannot perform this task if your version of LiveCycle ES
is 8.x or an earlier version. Support for inspecting policy-protected
documents was added in LiveCycle. If you attempt to inspect
a policy-protected document using LiveCycle ES 8.x (or earlier),
an exception is thrown.
Summary of stepsTo
inspect a policy-protected PDF document, perform the following steps:
Include project files.
Create a Rights Management Client API object.
Retrieve a policy-protected document to inspect.
Obtain information about the policy-protected document.
Include project filesInclude necessary files into your development
project. If you are creating a client application using Java, include
the necessary JAR files. If you are using web services, make sure
that you include the proxy files.
Create a Rights Management Client API objectBefore you can programmatically
perform a Rights Management service operation, create a Rights Management
service client object. If you are using the Java API, create a RightsManagementClient object.
If you are using the Rights Management web service API, create a RightsManagementServiceService object.
Retrieve a policy-protected document to inspectTo inspect a policy-protected
document, retrieve it. If you attempt to inspect a document that
is not secured with a policy or is revoked, an exception is thrown.
Inspect the documentAfter you retrieve a polciy-protected document,
you can inspect it.
Obtain information about the policy-protected documentAfter
you inspect a policy-protected PDF document, you can obtain information about
it. For example, you can determine the policy that is used to secure
the document.
If you secure a document with a policy that
belongs to My Policies and then call RMInspectResult.getPolicysetName or RMInspectResult.getPolicysetId,
null is returned.
If the document is secured using a policy
that is contained in a policy set (other than My Policies) then RMInspectResult.getPolicysetName and RMInspectResult.getPolicysetId return
valid strings.
Inspect Policy Protected PDF Documents using the Java APIInspect a policy-protected PDF document by using the Rights
Management Service API (Java):
Include project files.
Include client JAR files,
such as the adobe-rightsmanagement-client.jar, in your Java project’s
class path. For information about the location of these files, see Including LiveCycle Java library files.
Create a Rights Management Client API object.
Create a ServiceClientFactory object that
contains connection properties. (See Setting connection properties.)
Create a RightsManagementClient object by
using its constructor and passing the ServiceClientFactory object.
Retrieve a policy-protected document to inspect.
Create a java.io.FileInputStream object
that represents the policy-protected PDF document by using its constructor.
Pass a string value that specifies the location of the PDF document.
Create a com.adobe.idp.Document object by
using its constructor and passing the java.io.FileInputStream object.
Inspect the document.
Create a DocumentManager object
by invoking the RightsManagementClient object’s getDocumentManager method.
Inspect the policy-protected document by invoking the LicenseManager object’s inspectDocument method.
Pass the com.adobe.idp.Document object that contains
the policy-protected PDF document. This method returns a RMInspectResult object
that contains information about the policy-protected document.
Obtain information about the policy-protected document.
To
obtain information about the policy-protected document, invoke the appropriate
method that belongs RMInspectResult object. For
example, to retrieve the policy name, invoke the RMInspectResult object’s getPolicyName method.
Inspect Policy Protected PDF Documents using the web service APIInspect a policy-protected PDF document by using the Rights
Management Service API (web service):
Include project files.
Create a Microsoft .NET
project that uses MTOM. Ensure that you use the following WSDL definition: http://localhost:8080/soap/services/RightsManagementService?WSDL&lc_version=9.0.1.
Note: Replace localhost with the IP
address of the server hosting LiveCycle.
Create a Rights Management Client API object.
Create a RightsManagementServiceClient object
by using its default constructor.
Create a RightsManagementServiceClient.Endpoint.Address object by
using the System.ServiceModel.EndpointAddress constructor.
Pass a string value that specifies the WSDL to the LiveCycle service (for example, http://localhost:8080/soap/services/RightsManagementService?WSDL.)
You do not need to use the lc_version attribute. This
attribute is used when you create a service reference.)
Create a System.ServiceModel.BasicHttpBinding object
by getting the value of the RightsManagementServiceClient.Endpoint.Binding field. Cast
the return value to BasicHttpBinding.
Set the System.ServiceModel.BasicHttpBinding object’s MessageEncoding field
to WSMessageEncoding.Mtom. This value ensures that
MTOM is used.
Enable basic HTTP authentication by performing the following
tasks:
Assign the LiveCycle user name to the
field RightsManagementServiceClient.ClientCredentials.UserName.UserName.
Assign the corresponding password value to the field RightsManagementServiceClient.ClientCredentials.UserName.Password.
Assign the constant value HttpClientCredentialType.Basic to the
field BasicHttpBindingSecurity.Transport.ClientCredentialType.
Assign the constant value BasicHttpSecurityMode.TransportCredentialOnly to
the field BasicHttpBindingSecurity.Security.Mode.
Retrieve a policy-protected document to inspect.
Create a BLOB object by using its constructor.
The BLOB object is used to store a PDF document
to inspect.
Create a System.IO.FileStream object by
invoking its constructor. Pass a string value that represents the
file location of the PDF document and the mode to open the file
in.
Create a byte array that stores the content of the System.IO.FileStream object.
You can determine the size of the byte array by getting the System.IO.FileStream object’s Length property.
Populate the byte array with stream data by invoking the System.IO.FileStream object’s Read method.
Pass the byte array, starting position, and stream length to read.
Populate the BLOB object by assigning its MTOM field
with the contents of the byte array.
Inspect the document.
Inspect the policy-protected
document by invoking the RightsManagementServiceClient object’s inspectDocument method.
Pass the BLOB object that contains the policy-protected
PDF document. This method returns a RMInspectResult object
that contains information about the policy-protected document.
Obtain information about the policy-protected document.
To
obtain information about the policy-protected document, get the
value of the appropriate field that belongs to the RMInspectResult object.
For example, to retrieve the policy name, get the value of the RMInspectResult object’s policyName field.
|
|
|