Writes an Adobe IDML file out of a given content

1.5.0 2024-01-23 14:38 UTC

This package is auto-updated.

Last update: 2024-05-23 15:22:52 UTC


PHP from Packagist Codacy Badge Total Downloads License

IDML Writer

This library writes an Adobe IDML file out of a given content.


This library is made for the use with Composer. Add it to your project by running $ composer require bitandblack/idml-writer.


When creating a new instance of the Writer, you need to pass your content as first parameter and the IDML tree as second parameter:


use IDML\Writer\File\Tree;
use IDML\Writer\Writer;

$writer = new Writer(
    new Tree()

The content which is $myIDMLContent in our example needs to be an object which implements the ContentInterface.

Since the structure of an IDML file is always the same, you don't need to customize or set up an own Tree object. But in case you want to you only have to implement the TreeInterface.

Create and store the IDML file by running create() like that:



Alternatively, if you want to get the content to store it by yourself or do whatever else, call getContent():


$idmlFileContent = $writer->getContent();


Content of an IDML

This library doesn't provide creating any IDML content. Creating content can be done by using the bitandblack/idml-creator library. Please note that this one has a private license and is not listed public. You can find more information about the IDML Creator library and its documentation under

There is also a demo version which you can find under bitandblack/idml-creator-demo.

Validation of IDML files

Adobe provides a schema for the validation of IDML files, which can be found under They provide a JAVA-based validation only.

We as Bit&Black made a port to PHP, which can be used and implemented with the help of Composer. It can be found at by its name bitandblack/idml-validator.


Feel free to contact us under