Converting Word Documents to PDF Documents

This section describes how you can use the Generate PDF API to programmatically convert a Microsoft Word document to a PDF document.

Note: For more information about additional file formats, see Adding Support for Additional Native File Formats.
Note: For more information about the Generate PDF service, see Services Reference for LiveCycle.

Summary of steps

To convert a Microsoft Word document to a PDF document, perform the following tasks:

  1. Include project files.

  2. Create a Generate PDF client.

  3. Retrieve the file to convert to a PDF document.

  4. Convert the file to a PDF document.

  5. 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):

  1. Include project files.

    Include client JAR files, such as adobe-generatepdf-client.jar, in your Java project’s class path.

  2. Create a Generate PDF client.

    • Create a ServiceClientFactory object that contains connection properties.

    • Create a GeneratePdfServiceClient object by using its constructor and passing the ServiceClientFactory object.

  3. 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.

  4. 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.

  5. 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:

    • Invoke the CreatePDFResult object’s getLogDocument method. This returns a com.adobe.idp.Document object.

    • Invoke the com.adobe.idp.Document object’s copyToFile method to extract the log document.

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):

  1. 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.
  2. 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 LiveCycle 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.

  3. 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.

  4. 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).

  5. 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.

// Ethnio survey code removed