Here are some information about the versions of IDML-Creator, when they were released and what changes there were.

2.15.0 PENDING


  • HEX colors can now added too.


  • Changed deprecation messages so they are using error level E_USER_DEPRECATION now.
  • Story::setContent has been replaced with Story::addContent.

2.14.1 2021-01-13


  • Added missing values in class CharacterStyle.

2.14.0 2020-11-30


  • Added the Oval class to create circles and ovals.


  • Added support for PHP 8.

2.13.0 2020-11-03


  • The InDesignVersion Enum supports now version 2021.
  • Images can be embedded into an IDML document now. This can be done with the new embedImage() method. It is available in the classes Image, EPS, PDF and SVG.
  • IDML-Creator can add meta information to an IDML now. The new class MetaData provides some methods for adding authors and contact information.
  • When using an image without setting its source, the ImageSrcNotSetException will be thrown now.

2.12.5 2020-10-14


  • Fixed wrong variable type.

2.12.4 2020-10-14


  • Added missing attribute fillColor to class Image.

2.12.3 2020-10-13


  • Added missing getters.

2.12.2 2020-10-02


  • The library bitandblack/composer-helper has been updated, and it's usage too. This fixes some incompatibilities with different environments.

2.12.1 2020-10-01


  • Updated library bitandblack/image-information to ^1.5 to make ext-imagick optional.

2.12.0 2020-09-29


  • Fixed several bugs that could result in wrongly placed elements when rotating them.


  • Added the possibility to set the blend mode and all related settings for Rectangles, GraphicLines, Polygons and TextFrames. This works with the new TransparencySetting class.
  • Groups are now possible by using the new class IDML\Content\Group.
  • PDFs can now be places using the PDF class. Crop mode and the page can be defined.
  • Added class TransformAttributeOption to improve the work with ObjectStyles.


  • When adding elements to a Page, there's only one method for all elements: addElement.
  • The IDML\Content\CalculatorTrait has been replaced with the Calculator class.
  • Spread::insertPage() has been replaced with Spread::addPage().
  • Content::addDesignMap() has been replaced with Content::setDesignMap().
  • Page::addTextFrame() has been replaced with Page::addElement().
  • Page::addRectangle() has been replaced with Page::addElement().
  • Page::addGraphicLine() has been replaced with Page::addElement().
  • TextWrapPreference::setTextWrapOffset() has been replaced with TextWrapPreference::setTopOffset(), TextWrapPreference::setRightOffset(), TextWrapPreference::setBottomOffset() and TextWrapPreference::setLeftOffset().
  • It is no longer possible to add duplicates to the IDML\Content class.
  • Enums are now final.
  • The QRCode class has some setters and getters now.
  • The style classes CellStyle, CharacterStyle, ObjectStyle, ParagraphStyle, and TableStyle have a second parameter in their method setBasedOn(). If set to true, the inheritance will actively change to children's classes values. The inheritance can by manually triggered by calling the method updateInheritance(). Also, there's a new method addChild() what is the opposite of setBasedOn().

2.11.1 2020-02-24


  • Changes of the namespace in bitandblack/idml-writer caused error messages. This has been fixed now.

2.11.0 2020-02-18


  • GREP expressions can be added to Paragraph Styles now.

  • Added possibility to set a characters as subscript or superscript in two ways:

    1. Instead of adding new Text() into a CharacterStyleRange new Subscript() or new Superscript() can be used.

    2. CharacterStyles have setPosition() now. Its values come from the Position Enum.

2.10.0 2020-02-13


  • A lot of Enums have been added.

  • Variable fonts can be used now. See example/variable-fonts.php for a use case.

  • SVG images can be added now.

  • The color of borders above and below a paragraph can be set.

  • Paragraphs can have borders and shadings now.

  • Paragraphs can have column rules now.


  • When a property has been set with the help of an Enum, its getter method will also return the Enum.

  • In class Content some setters have been renamed to make their behaviour clearer:

    • addDesignMap to setDesignMap
    • addTag to setTag
    • addBackingStory to setBackingStory
    • addContainer to setContainer
    • addPreference to setPreference
    • getContainers to getContainer
    • getBackingStories to getBackingStory
  • composer.lock has been removed. Also some dependencies have been updated.

2.9.4 2020-02-07


  • In class ParagraphStyle the property strikeThru is now from type bool.


  • A lot of properties and methods in class ParagraphStyle had int values when they should be float. This has been fixed now.

2.9.3 2019-12-09


  • Fixed wrong color value in QR codes when no foreground color was set.

2.9.2 2019-12-03


  • Fixed a bug that caused empty content elements.

2.9.1 2019-11-26


  • Fixed handling of spanned or splitted columns and added SpanColumnType to define the column type in paragraph styles.

  • Fixed the handling of special characters.

2.9.0 2019-11-22


  • Added a lot of classes for a better handling of special characters. They are all under the namespace IDML\Content\SpecialChars:

    • AutoPageNumber
    • EndNestedStyleHere
    • IndentToHere
    • NextPageNumber
    • NonJoinerCharacter
    • PreviousPageNumber
    • RightIndentTab
    • SectionMarker
    • Tabulator.php

    All of them can be used inside a CharacterStyleRange, for example:

    use IDML\Content\Story\Story;
    use IDML\Content\Story\ParagraphStyleRange;
    use IDML\Content\Story\CharacterStyleRange;
    use IDML\Content\SpecialChars\AutoPageNumber;
    $story = new Story();
        new ParagraphStyleRange(
            new CharacterStyleRange(
                new AutoPageNumber()


  • Tabulators have been refactored and can be used with the new class IDML\Content\Style\Tabulator.

    To make it clearer that multiple tabulators can be added to a paragraph style, the method setTabulator has been renamed to addTabulator.