PDF Generation Module

PDF Generation Module creates PDF files of Notes/Domino documents – either of existing documents by directly referencing them in the Notes/Domino database or by importing a Domino XML (DXL) file that has been generated by exporting an Notes/Domino document to DXL format.

PDF Generation Module is based on DXLUtility developed by THiNK – e-solutions. It can be used with the following products:

Integration with other third-party applications be achieved easily for PDF Generation Module. Should you have any questions in this regard, feel free to get in touch at info@think-e-solutions.com.

A customer described its functionality as follows:

… We have also tried other pdf-products (for Notes/Domino), but with poor quality of the pdf renditions. PDF Generation Module is by far the highest quality we have ever seen…

Functionality

PDF Generation Module processes requests to create PDF renditions for Notes/Domino documents.

Job requests can be submitted by placing a file into a directory that is monitored by DXLUtility or by submitting a job using DXLUtility’s internal server process.

A job request can either include a reference to an existing Notes/Domino document (server, database, document’s UNID) or a reference to a Notes/Domino XML (DXL) file that contains the document’s data.

If the job references an existing document, PDF Generation Module will use Notes to open that document.

On the other hand, if the job request is for a DXL file, PDF Generation Module will import the DXL file into the appropriate Notes/Domino database using DXLUtility and then open the new document in Notes.

In either case, PDF Generation Module will then print the Domino document using a standard PDF printer driver.

Note

If possible, PDF generation should be performed using existing documents. This will improve stability and performance of the PDF rendering process.

Once a job has been processed, PDF Generation Module passes the result of processing back to the application that generated the request.

Besides other things, PDF Generation Module ensures that:

  • all sections in the document are expanded and
  • page size and page format for the PDF file are set properly

before the open document is printed. Thereby, all information in the Notes/Domino document is guaranteed to be visible in the generated PDF.

PDF generation process

PDF generation for existing documents

If the PDF rendition is to be created based on the document stored inside the Notes/Domino NSF file, the PDF creation process works as follows:

  1. The application submits a request to create a PDF rendition for an existing Domino document.
  2. The request is received by DXLUtility.
  3. DXLUtility opens the Domino document for reading in Notes.
  4. DXLUtility ensures that the document’s content is completely visible.
  5. DXLUtility issues a print command for this document.
  6. DXLUtiltiy closes the document in Notes.
  7. If printing is successful, the generated PDF file is stored on a network share.
  8. DXLUtility signals failure or success to the application that submitted the request.
  9. If the PDF was successfully created, the application picks up the new file.
  10. If PDF generation failed (e.g. because of a timeout), the application forces DXLUtility and Notes to terminate and then retries PDF creation. In case DXLUtility and Notes have been terminated, DXLUtility will be restarted automatically. In turn, DXLUtility will restart Notes once it receives the first request to create a PDF rendition.

PDF Generation from DXL files

If the PDF rendition is created based on a DXL file, PDF Generation Module will import the DXL file into a suitable Domino application (typically based on the same template that was used to create the original application that the document was extracted from) and then open the document in Notes and print it using a PDF printer driver.

  1. The application saves the DXL file on a shared network drive that is accessible to the application as well as the system that PDF Generation Module is running on.
  2. The Application submits the request to create a PDF rendition for this DXL file to DXLUtility running on the rendition server.
  3. DXLUtility determines the importer that this document needs to be imported by.
  4. DXLUtility ensures that the document’s content is completely visible by manipulating the DXL.
  5. DXLUtility imports the DXL file using the importer determined in step 3.
  6. DXLUtility opens the new document for reading in Notes.
  7. DXLUtility issues a print command for this document.
  8. DXLUtility closes the document in Notes.
  9. If configured to do so, DXLUtility deletes the document that was created during the import of the DXL file from the Domino application.
  10. If printing is successful, the generated PDF file is stored on the network share.
  11. DXLUtility signals failure or success to the application that issued the request.
  12. If the PDF was successfully created, the scanner picks up the new file.
  13. If PDF generation failed (e.g. because of a timeout), the application forces DXLUtility and Notes to terminate and then retries PDF creation. In case DXLUtility and Notes have been terminated, DXLUtility will be restarted automatically. In turn, DXLUtility will restart Notes once it receives the first request to create a PDF rendition.
Important

If PDF generation is performed based on DXL files, information on the generated PDF might not be correct as some document attributes (e.g. date and time of last modification, last modifier etc.) are set by Notes during DXL import and those fields might be part of the form that’s used to open the document for PDF printing.