Integration and API
It is possible to integrate the elastic layout functionality into an existing software solution. The elastic process is performed in InDesign/InDesignServer and there are both a small C++ API available as well as public script methods and properties that can be used to perform integration. C++ API This API contains the InDesign Naviga Templates plugin ID-file as well as some utility class definitions that can be included in another InDesign plugin. When included, the elastic process may be triggered at any point by calling the Naviga Templates plugin API methods. Here is a small example:
//Elastic Layout Plugin Public API files:
#include <ElasticPublicID.hxx>
#include <ElasticResult.h>
#include <IElasticLayoutFacade.h>
...
ElasticResult result;
UIDList frames = myArticleFrames;
ErrorCode err = Utils<IElasticLayoutFacade>()->Elastify(frames, result);
...Script API When the Naviga Templates plugin is installed in InDesign/InDesignServer it provides public script methods and properties similar to the C++ API. These can be called using Javascript, Applescript or VBScript.
The elastic properties are also stored in IDML and are preserved when importing/exporting InDesign documents, snippets or InDesign-library assets.
Last updated
Was this helpful?