This section describes how you can use the Generate PDF
API to programmatically convert a Microsoft Word document to a PDF
document.
Summary of steps
To convert a Microsoft Word document to a PDF document,
perform the following tasks:
-
Include project files.
-
Create a Generate PDF client.
-
Retrieve the file to convert to a PDF document.
-
Convert the file to a PDF document.
-
Retrieve the results.
Include project files
Include 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, ensure that
you include the proxy files.
Create a Generate PDF client
Before
you can programmatically perform a Generate PDF operation, create
a Generate PDF service client. If you are using the Java API, create
a
GeneratePdfServiceClient
object. If you are using
the web service API, create a
GeneratePDFServiceService
object.
Retrieve the file to convert to a PDF document
Retrieve the Microsoft
Word document to convert to a PDF document.
Convert the file to a PDF document
After
you create the Generate PDF service client, you can invoke the
createPDF2
method.
This method needs information about the document to convert, including
the file extension.
Retrieve the results
After the file is converted to a PDF document,
you can retrieve the results. For example, after you convert a Word
file to a PDF document, you can retrieve and save the PDF document.
Convert Word documents to PDF documents using the Java API
Convert a Microsoft Word document to a PDF document by
using the Generate PDF API (Java):
-
Include project files.
Include client JAR files,
such as adobe-generatepdf-client.jar, in your Java project’s class
path.
-
Create a Generate PDF client.
-
Retrieve the file to convert to a PDF document.
-
Create a
java.io.FileInputStream
object
that represents the Word file to convert by using its constructor.
Pass a string value that specifies the file location.
-
Create a
com.adobe.idp.Document
object by
using its constructor and passing the
java.io.FileInputStream
object.
-
Convert the file to a PDF document.
Convert the file
to a PDF document by invoking the
GeneratePdfServiceClient
object’s
createPDF2
method
and passing the following values:
-
A
com.adobe.idp.Document
object
that represents the file to convert.
-
A
java.lang.String
object that contains
the file extension.
-
A
java.lang.String
object that contains
the file type settings to be used in the conversion. File type settings
provide conversion settings for different file types, such as .doc
or .xls.
-
A
java.lang.String
object that contains
the name of the PDF settings to be used. For example, you can specify
Standard
.
-
A
java.lang.String
object that contains
the name of the security settings to be used.
-
An optional
com.adobe.idp.Document
object
that contains settings to be applied while generating the PDF document.
-
An optional
com.adobe.idp.Document
object
that contains metadata information to be applied to the PDF document.
The
createPDF2
method
returns a
CreatePDFResult
object that contains
the new PDF document and a log information. The log file typically
contains error or warning messages generated by the conversion request.
-
Retrieve the results.
To obtain the PDF document,
perform the following actions:
-
Invoke the
CreatePDFResult
object’s
getCreatedDocument
method,
which returns a
com.adobe.idp.Document
object.
-
Invoke the
com.adobe.idp.Document
object’s
copyToFile
method
to extract the PDF document from the object created in the previous
step.
If you used the
createPDF2
method
to obtain the log document (not applicable to HTML conversions),
perform the following actions:
Convert Word documents to PDF documents using the web service API
Convert a Microsoft Word document to a PDF document by
using the Generate PDF 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/GeneratePDFService?WSDL&lc_version=9.0.1
.
Note:
Replace
localhost
with the IP
address of the server hosting LiveCycle.
-
Create a Generate PDF client.
-
Create a
GeneratePDFServiceClient
object
by using its default constructor.
-
Create a
GeneratePDFServiceClient.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/GeneratePDFService?blob=mtom
.)
You do not need to use the
lc_version
attribute.
However, specify
?blob=mtom
.
-
Create a
System.ServiceModel.BasicHttpBinding
object
by getting the value of the
GeneratePDFServiceClient.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
GeneratePDFServiceClient.ClientCredentials.UserName.UserName
.
-
Assign the corresponding password value to the field
GeneratePDFServiceClient.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 the file to convert to a PDF document.
-
Create a
BLOB
object by using its constructor.
The
BLOB
object is used to store the file that
you want to convert to a PDF document.
-
Create a
System.IO.FileStream
object by
invoking its constructor. Pass a string value that represents the
file location of the file to convert and the mode in which to open
the file.
-
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
and passing the byte array, the starting position, and the stream
length to read.
-
Populate the
BLOB
object by assigning to
its
MTOM
property the contents of the byte array.
-
Convert the file to a PDF document.
Convert the file
to a PDF document by invoking the
GeneratePDFServiceService
object’s
CreatePDF2
method
and passing the following values:
-
A
BLOB
object
that represents the file to be converted.
-
A string that contains the file extension.
-
A
java.lang.String
object that contains
the file type settings to be used in the conversion. File type settings
provide conversion settings for different file types, such as .doc
or .xls.
-
A string object that contains the PDF settings to be used.
You can specify
Standard
.
-
A string object that contains the security settings to be
used. You can specify
No Security
.
-
An optional
BLOB
object that contains settings
to be applied while generating the PDF document.
-
An optional
BLOB
object that contains metadata
information to be applied to the PDF document.
-
An output parameter of type
BLOB
that is populated
by the
CreatePDF2
method. The
CreatePDF2
method
populates this object with the converted document. (This parameter
value is required only for web service invocation).
-
An output parameter of type
BLOB
that is populated
by the
CreatePDF2
method. The
CreatePDF2
method
populates this object with the log document. (This parameter value
is required only for web service invocation).
-
Retrieve the results.
-
Retrieve the converted
PDF document by assigning the
BLOB
object’s
MTOM
field
to a byte array. The byte array represents the converted PDF document.
Ensure you use the
BLOB
object that is used as
the output parameter for the
createPDF2
method.
-
Create a
System.IO.FileStream
object by
invoking its constructor and passing a string value that represents the
file location of the converted PDF document.
-
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.
|
|
|