You can apply a policy to a PDF document in order to secure
the document. By applying a policy to a PDF document, you restrict
access to the document. You cannot apply a policy to a document
if the document is already secured with a policy.
While the document is open, you can also restrict access to Acrobat
and Adobe Reader features, including the ability to print and copy
text, make changes, and add signatures and comments to a document.
In addition, you can revoke a policy-protected PDF document when
you no longer want users to access the document.
You can monitor the use of a policy-protected document after
you distribute it. That is, you can see how the document is being
used and who is using it. For example, you can find out when somebody
has opened the document.
Summary of steps
To apply a policy to a PDF document,
perform the following steps:
-
Include project files.
-
Create a Rights Management Client API object.
-
Retrieve a PDF document to which a policy is applied.
-
Apply an existing policy to the PDF document.
-
Save the policy-protected PDF document.
Include project files
Include necessary files into your development
project. If you are creating a client application using Java, then
include the necessary JAR files. If you are using web services,
then make sure that you include the proxy files.
Create a Rights Management Client APIobject
Before 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 PDF document
You can retrieve a PDF document in order
to apply a policy. After you apply a policy to the PDF document,
users are restricted when using the document. For example, if the
policy does not enable the document to be opened while offline, then
users must be online to open the document.
Apply an existing policy to the PDF document
To apply a policy
to a PDF document, reference an existing policy and specify which
policy set the policy belongs to. The user who is setting the connection properties
must have access to the specified policy. If not, an exception occurs.
Save the PDF document
After the Rights Management service
applies a policy to a PDF document, you can save the policy-protected
PDF document as a PDF file.
Apply a policy to a PDF document using the Java API
Apply a policy to a PDF document by using the Rights Management
API (Java):
-
Include project files.
Include client JAR files,
such as adobe-rightsmanagement-client.jar, in your Java project’s
class path.
-
Create a Rights Management Client API object.
-
Retrieve a PDF document.
-
Create a
java.io.FileInputStream
object
that represents the 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.
-
Apply an existing policy to the PDF document.
-
Create a
DocumentManager
object by invoking
the
RightsManagementClient
object’s
getDocumentManager
method.
-
Apply a policy to the PDF document by invoking the
DocumentManager
object’s
protectDocument
method
and passing the following values:
-
The
com.adobe.idp.Document
object
that contains the PDF document to which the policy is applied.
-
A string value that specifies the name of the document.
-
A string value that specifies the name of the policy set
to which the policy belongs. You can specify a
null
value
that results in the
MyPolicies
policy set being
used.
-
A string value that specifies the policy name.
-
A string value that represents the name of the user manager
domain of the user who is the publisher of the document. This parameter
value is optional and can be null (if this parameter is null, then
the next parameter value must be null).
-
A string value that represents the name of the canonical
name of the user manager user who is the publisher of the document.
This parameter value is optional and can be
null
(if
this parameter is null, then the previous parameter value must be
null
).
-
A
com.adobe.livecycle.rightsmanagement.Locale
that represents
the locale that is used for selecting the MS Office template. This
parameter value is optional and not used for PDF documents. To secure
a PDF document, specify
null
.
The
protectDocument
method
returns a
RMSecureDocumentResult
object that contains
the policy-protected PDF document.
-
Save the PDF document.
-
Invoke the
RMSecureDocumentResult
object’s
getProtectedDoc
method
to get the policy-protected PDF document. This method returns a
com.adobe.idp.Document
object.
-
Create a
java.io.File
object and ensure
that the file extension is PDF.
-
Invoke the
com.adobe.idp.Document
object’s
copyToFile
method to
copy the contents of the
Document
object to the
file (ensure that you use the
Document
object that
was returned by the
getProtectedDoc
method).
Apply a policy to a PDF document using the web service API
Apply a policy to a PDF document by using the Rights Management
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 Clinet 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 AEM forms 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 PDF document.
-
Create a
BLOB
object
by using its constructor. The
BLOB
object is used
to store a PDF document to which a policy is applied.
-
Create a
System.IO.FileStream
object by
invoking its constructor and passing a string value that represents
the file location of the PDF document and the mode in which to open
the file.
-
Create a byte array that stores the content of the
System.IO.FileStream
object.
Determine the byte array size 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, the starting position, and the stream length
to read.
-
Populate the
BLOB
object by assigning its
MTOM
field
with the contents of the byte array.
-
Apply an existing policy to the PDF document.
Apply
a policy to the PDF document by invoking the
RightsManagementServiceClient
object’s
protectDocument
method
and passing the following values:
-
The
BLOB
object
that contains the PDF document to which the policy is applied.
-
A string value that specifies the name of the document.
-
A string value that specifies the name of the policy set
to which the policy belongs. You can specify a
null
value
that results in the
MyPolicies
policy set being
used.
-
A string value that specifies the policy name.
-
A string value that represents the name of the user manager
domain of the user who is the publisher of the document. This parameter
value is optional and can be null (if this parameter is null, then
the next parameter value must be
null
).
-
A string value that represents the name of the canonical
name of the user manager user who is the publisher of the document.
This parameter value is optional and can be null (if this parameter
is null, then the previous parameter value must be
null
).
-
A
RMLocale
value that specifies the locale
value (for example,
RMLocale.en
).
-
A string output parameter that is used to store the policy
identifier value.
-
A string output parameter that is used to store the policy-protected identifier
value.
-
A string output parameter that is used to store the mime
type (for example,
application/pdf
).
The
protectDocument
method
returns a
BLOB
object that contains the policy-protected
PDF document.
-
Save the PDF document.
-
Create a
System.IO.FileStream
object
by invoking its constructor and passing a string value that represents
the file location of the policy-protected PDF document.
-
Create a byte array that stores the data content of the
BLOB
object
that was returned by the
protectDocument
method.
Populate the byte array by getting the value of the
BLOB
object’s
MTOM
data
member.
-
Create a
System.IO.BinaryWriter
object by
invoking its constructor and passing the
System.IO.FileStream
object.
-
Write the contents of the byte array to a PDF file by invoking
the
System.IO.BinaryWriter
object’s
Write
method
and passing the byte array.
|
|
|