We have recently added some new Variable Data Printing (VDP) APIs to our InDesign Server to allow our clients to programmatically change text and images in a template. Some examples of ways that these new APIs could be used include:
- Automatically generate a PDF or JPEG from data with no human intervention. For example, a company with several stores may need to generate signage from data stored in a digital asset manager (DAM).
- Make changes based on data associated with an end user, and then show the PrintUI editor so they can make further edits. For example, after the end user logs in, you know their office location so you can prepopulate the address fields in a template for them.
- Allow the end user to make changes by using text fields instead of using the WYSIWYG editor. For example, a template has some tiny fields that are normally difficult to see while editing, so you show them some text fields instead.
The APIs have started out very simple, but will be expanded over time. The current APIs:
- Get a list of the text and image frames for a template.
- Replace existing text with new text. Several text frames can be changed at one time. A current limitation is that all of the new text in the frame will use the same style (i.e. no bold, italic, or mixed fonts in the middle of the text).
- Replace existing images with new images. Several images can be changed at one time. A current limitation is that there are no image fitting or cropping controls. And image replacement works best if the new image is the same type and size as the old image.
Note that since PrintUI is a multi-tenant software-as-a-service (SaaS) implementation, and since we need to maintain high performance for end users that are making edits in real time, these APIs have a lower priority and are throttled to some degree. Therefore, these APIs are not suitable for cases, for example, where changes are being made from thousands of database records.
If you are interested in using the APIs, please contact PrintUI.