PDFMerger

What is the PDFMerger

The PDFMerger reads the content from an OptiExtentionID and converts that content (HTML) into a PDF file.

The PDF file is then saved to a storage location like local disk, FTPS/SFTP, amazonS3, …

 

Restrictions

Volume restrictions

The PDFMerger can basically handle 25/30 pdf files per minute maximum!

So only use it for transactional purposes at low volumes or at least not time critical applications.

Not for email

The PDFMerger plugin creates a physical PDF file on a storage location like a local disk, FTPS/SFTP or amazonS3,… . This plugin can't be used in an email.

The content renderer has a basic PDF generator inside. This will generate a PDF on the fly. This could be used to add an attachment but do note that it's a CPU intensive job. DO NOT use it for bulk mailings. For smaller transactional mailings it should be fine.

 

Frequently asked questions

Personalization

If you provide a USERID with the anonymous hash, the page content will be personalized with that user’s information before converting that page into a PDF file.

Action list

Yes, you can use an action list.

There is a DitemId and DListId parameter which you can fill in. Those Id's will be encoded in the anonymous hash before calling the OptiExtentionID to transform it into a pdf.

Multiple pages

What is the behavior when there are 2 pages or more?

If the html file is longer then the pdf file, it will store it as multiple pages.

 

How to set up the PDFMerger

Create an interface (for Campaign)

1. Log into Campaign, go to Processes and click on Tab Interfaces.

2. Click on New plugin Interface or select an existing PDFMerger plugin to edit.

3. Fill in a Name.

4. Select the Plugin Type: see Interface types and parameters in the next section

5. Set the Interval to 1 (this indicates when the interface runs (every x minutes)

6. Set the batch size to 25. (Take not off the volume restrictions when setting the batch size).

7. Click on Configure and fill in the Plugin Parameters (see next page for more detailed information)

 

Create a custom channel endpoint / Custom component (for Selligent)

1. Log into Selligent, go to Admin Configuration > Global > Channel endpoints.

2. Click on the button New.

3. Fill in a Name

4. Select the Type: Custom.

5. Select the Provider Type: see Interface types and parameters in the next section.

6. Set the Interval to 1 (this indicate when the interface runs (every x minutes))

7. Set the batch size to 25. (Take not off the volume restrictions when setting the batch size).

8. Fill in the Plugin Parameters (see next page for more detailed information).

9. Log into Selligent, go to Data Exchange and click on Tab Custom components & channels.

10. Click on button New > custom component or select an existing PDFMerger component to edit.

11. Fill in a Name.

12. Select the Type: Custom Channel.

13. Select the Custom channel endpoint (created above).

14. Click Next.

15. The necessary input fields are automatically created so just click Next.

16. The necessary output fields are automatically created so just click Next.

17. The necessary events are automatically created so just click Next.

18. Click Create component.

 

How to use the PDFMerger

Interface types and parameters

PDFMerger - local storage

  • Location: Folder location to store the PDF's.
  • Request service port: Port of the request service (This will be provided by Zeta during the setup).

PDFMerger - FTPS/PDFMerger-SFTP

  • Request service port: Port of the request service (This will be provided by Zeta during the setup)
  • Username: FTP Login
  • Password: FTP Password
  • Server: FTP Server name
  • Remote folder: Remote folder on the FTP server to store the PDF's
  • FTP Mode: FTP mode (only available for FTPS)
  • Security mode: Security mode (only available for FTPS)
  • Private key: Private key for authentication (only available for SFTP)
  • Host key: Host key for accepting authentication (only available for SFTP)

PDFMerger - AmazonS3

  • Request service port: Port of the request service (This will be provided by Zeta during the setup)
  • Region Endpoint: The Region Endpoint for Amazon S3
  • Access Key Id: The Access Key Id for Amazon S3
  • Secret Access Key: The Secret Access Key for Amazon S
  • Bucket Name: The Bucket Name for Amazon S3 to store the PDF's

 

How to use the PDFMerger

Create the content to be rendered

1. Create a page (which should be rendered in the PDF) in Selligent.

  • If the html file is longer then the pdf file, it will store it as multiple pages.
  • You can also use personalized content (the page content will be personalized with that user’s information before converting that page into a PDF file.)

2. Add a Weblink input component in a journey and link this to a page component.

3. The anonymous link of that weblink component is the Anonymous hash that you need to use in the PDFMerger plugin.

Insert records in the PDFMerger interface table

For every record that is inserted into the PDFMerger interface table a PDF file is generated of that page and it will be saved to the storage location depending on which interface you selected.

Providing the information (see PDFMerger fields) to the interface plugin can be done with:

  • a journey in Campaign or Selligent
  • an action record
  • a stored procedure

PDFMerger fields

  • Anonymous hash: Campaign/Selligent Hashcode of the template
  • User ID: Fill this in to personalize the page’s content.
  • Personalized hash: Personalized Campaign/Selligent Hashcode of the template
  • FileName: The target filename. Include the .pdf extension and add some unique value.
  • Page Orientation: The PDF page orientation (Portrait or Landscape)
  • PDF size: PDF page size (if custom please fill in Width and Height)
  • Width: Custom PDF page width
  • Height: Custom PDF page height
  • High resolution: Render the PDF in high resolution (True or False)
  • DItemId: Related to an ActionList – The value is filled in automatically, no need to fill this in.
  • DListId: Related to an ActionList – The value is filled in automatically, no need to fill this in.
  • Record Tag: This field is not used in the application - You can use this field any way you want for example to identify the source or batch or a unique id per record.

Use PDFMerger in a Campaign or Selligent journey

Insert a PDFMerger interface component in a Campaign journey or a Custom component in an Selligent Journey to trigger the creation of a PDF.

1. Make sure you have an Audience List component to select you audience.

Note that the journey can provide more than 25/30 requests but the PDFMerger interface will only process a maximum of 25/30 PDF files per minute, the other requests are queued until the next run. So make sure that you audience is well defined so as not to create a large queue.

2. Insert the PDFMerger interface plugin/Custom Component that you created in the previous step.

3. Fill in the necessary Fields (see PDFMerger fields section for more detailed information)

Use PDFMerger from an action record (in Campaign)

You can insert records to the PDFMerger from an action record.

In the Journey, in the List component, you can select the action list you want to use.

Fields from this action list will then be available for use in the PDFMerger plugin.

Use PDFMerger from a Stored Procedure

You can insert records directly to the PDFMerger from a stored procedure to trigger the creation of a PDF.

This is an advanced action so contact your Technical Project Manager for more information or to help you.