Main

April 7, 2009

LiveCycle PDF Generator Best Practices

Because of the unique way LiveCycle PDF Generator ES invokes native applications to do what it does (convert native documents to PDF), there are a number of configuration steps that need to be strictly followed as a matter of best practice.

WINDOWS
-------------
1) Determine the userID whose identity the J2EE appserver will "run as"
2) Login as that user and perform all installs (MS Office, Acrobat, LiveCycle). If Office has already been installed by your IT department as the 'Local Administrator' user, and if you do not have Local Administrator privileges, make sure that the user that the J2EE appserver will "run as" is a member of the local group 'Administrators'.
3) Make sure the Print Spooler service is turned on and set to run automatically. The Acrobat install will not be complete otherwise.
4) Make sure that multiple versions of Acrobat are not installed on the same machine. If there are, uninstall all of them and re-start the server.
5) Ensure that the server disks are performant (at least 7,200 RPM, with at least 8 MB cache) because there is lots of file I/O involved
6) Set the 'TEMP' and 'TMP' user environment variables to a dedicated folder such as C:\USER_TEMP (PDFG uses this) so that you control where file I/O occurs. This also helps with maintenance (cleanup of orphaned files)
6) Set the 'TEMP' and 'TMP' system environment variables to a dedicated folder such as D:\SYSTEM_TEMP (Acrobat conversions use this folder) for the same reason as the previous step.
7) Write a batch script to cleanup those folders on server re-start

MICROSOFT OFFICE
------------------------
1) Install Microsoft Office, OpenOffice and other native applications before you install either Acrobat or LiveCycle.
2) Activate each application. Please note that in Office 2007, Word , Excel and PowerPoint can be activated together but Visio needs to be activated separately.
3) Start each Office application manually and address all dialogs (registration, user experience improvement etc).
4) Open Word. Disable "Auto Recovery".
5) Set "Default file location" to a folder you can monitor and periodically cleanup such as D:\OFFICE_TEMP
6) Do the same for Microsoft PowerPoint and Excel
7) Perform some Advanced customization. Microsoft Word offers a LARGE number of customizations which might help you get the best output.

ACROBAT
------------
1) Install Acrobat before you install LiveCycle.
2) Start Acrobat. Check for updates and apply them.
3) Use it to convert a few documents (Word, Excel etc). Dismiss all dialogs that come up (registration, user experience improvement etc). This is absolutely CRITICAL. This is a major cause of problems. The user experience improvement dialog is especially insidious because it comes up only after a certain number of invocations. If you have a PDFG environment where things stop working after 2-5 invocations, chances are that this is the cause.
4) Perform a conversion manually using Word, Excel etc.

LIVECYCLE
--------------
1) Install, configure and deploy LiveCycle
2) Verify that Acrobat_PATH is set.
3) If it applies to your scenario, ensure the following environment variables are also set - Notepad_PATH, Photoshop_PATH, WordPerfect_PATH, PageMaker_PATH, FrameMaker_PATH, OpenOffice_PATH
4) If you are running a full 64-bit environment, make sure that you also install a 32-bit JDK. Also ensure that the environment variable JAVA_HOME_32 is set to this JDK. Details here.
5) Perform a conversion using the LiveCycle Admin Console (navigate to Services->LiveCycle PDF Generator ES->Create PDF).

If the conversion fails, check the J2EE appserver's log for details - JBoss (server.log), WebLogic (managed server log), WebSphere (SystemOut.log). In the case of WebSphere, the FFDC (First Fault Data Capture) logs might also provide detailed information. If these do not contain any useful information, check the Windows Event Log (Application).

To perform some investigations yourself, see here to get an idea of all of the file I/O that happens during a PDFG operation.


Continue reading "LiveCycle PDF Generator Best Practices" »

October 8, 2008

64-bit LiveCycle Environment Still Requires Additional 32-bit JDK for PDF Generator

If you are running LiveCycle in a complete 64-bit environment (64-bit OS, 64-bit JDK), please note that you'd still need to install a 32-bit version of the same JDK if you plan to use PDF Generator. If your appserver is WebSphere or WebLogic, this 32-bit additional JDK can be Sun HotSpot.

The high-level steps are as follows:
- Download and install the Sun HotSpot 32-bit JDK (version 1.5, version 6.0 is NOT supported)
- Create a new system environment variable called JAVA_HOME_32
- Set its value to the folder where you installed the 32-bit JDK

Additional details are available in the 'Preparing to Install LiveCycle ES' guide for your respective J2EE appserver available here.

December 14, 2007

LiveCycle - Configuring PDF Generator with an Email Endpoint

1) Get your mail administrator to create an email account for LiveCycle PDF Generator
2) Afterwards, get him/her to send you the following information: a) mailbox userID, b) password, c) mail server host IP address or DNS name, d) POP3 or IMAP port number, e) whether SSL is enabled for POP3/IMAP f) SMTP port number) whether SSL is enabled for SMTP

3) Create a folder on your J2EE appserver machine for failed emails, called 'lc_failed_emails' for example

4) Login to the LiveCycle Admin Console (http://servername:portnumber/adminui/)
5) Navigate to Services > Archive Administration > Service Management
6) Click on 'ConvertAllFileTypesToPDF: 1.0 '
7) In the 'End Points' tab, choose 'Email' from the dropdownlist
8) Click 'Add'

9) For 'Description', type in "Email Endpoint"

POP3/IMAP
10) In 'Inbox Host', type in the IP address or the DNS name of the mail server
11) In 'Inbox Port', type in the POP3 or IMAP service port number
12) In 'Inbox Protocol', choose 'pop3' or 'imap' from the dropdownlist, depending on your case
13) In 'Inbox User', type in the mailbox userID
14) In 'Inbox Password', type in the mailbox user's password
15) Check the checkbox for 'POP3/IMAP SSL Enabled' only if your mail administrator informed you that it is

SMTP
16) In 'SMTP Host', type in the IP address or the DNS name of the mail server. In some cases, the SMTP host will be different from your POP3/IMAP host
17) In 'SMTP Port', type in the SMTP port number
18) In 'SMTP User', type in the mailbox userID
19) In 'SMTP Password', type in the mailbox user's password
20) Check the checkbox for 'SMTP SSL Enabled' only if your mail administrator informed you that it is

21) In 'Failed Email Sent Folder', type in the fully qualified path to the folder you created in step 3
22) In 'Operation Name', choose 'invoke' from the dropdownlist

In the 'Input Parameter Mappings' section:
23) In 'inputDocument', type in *.*

In the 'Output Parameter Mappings' section:
24) In 'Output PDF Document', type in %F.%E.pdf

25) Click the 'Add' button to save the changes.
26) Test by sending a Word document to the e-mail address
27) On the LiveCycle server, watch for a CPU usage spike
28) When the spike is over, check for new e-mail in your mail client. If the conversion succeeded, you should have an e-mail from the mail userID you configured with a PDF attached.

November 23, 2007

The Assembler sample application

Another useful web application, included in the Livecycle SDK, but not automatically deployed is the Assembler sample application.

The Livecycle ES Assembler service can assemble multiple PDF documents into one PDF document or disassemble one PDF document into multiple PDF documents. The Assembler service can manipulate documents in various ways such as changing page size and rotating contents. It can insert additional content such as headers, footers, and a table of contents, as well as preserve, import or export existing content such as annotations, file attachments, and bookmarks.

You use an XML-based language called Document Description XML (DDX), to interact with the Assembler service. Find more info on DDX in the LiveCycle ES SDK documentation.

The Assembler sample application gives you an interface to test your DDX files, which improves productivity.

image

Fill in your DDX, link the input files you use to files on your file system, and the execute button will invoke the Assembler service and show you the generated PDF on the left side.

You can find the Assembler sample application EAR in the SDK folder ...

C:\Adobe\LiveCycle8\LiveCycle_ES_SDK\samples\PDFAssembler\WebApp\pre-built

Deploy the EAR file, and you'll be able to access this information through this url :

http://localhost:8080/adobe/livecycle/samples/assembler/