Here is some information about the versions of IDML-Creator, when they were released and what changes there were.
bitandblack/image-information
>= 2.0.1
is now required.Image
class can now be initialized with a class that allows caching of image information. The easiest way is to use the library's default Cache class (which implements the symfony/cache
library), but any other (custom) class implementing the CacheInterface
can be used too.Content
class now provides the three default colors Paper
, Black
and Registration
. Their color model depends on the DocumentIntent
setting and is RGB
or CMYK
. The colors can be used by calling Content::getDefaultWhite()
, Content::getDefaultBlack()
and Content::getRegistrationColor()
.Added properties to Table Styles:
StartRowFillColor
StartColumnStrokeColor
StartColumnFillCount
EndRowFillColor
EndColumnStrokeColor
EndColumnFillCount
Added properties to TextFrames and Rectangles:
TopLeftCornerOption
TopRightCornerOption
TopLeftCornerRadius
TopRightCornerRadius
BottomLeftCornerOption
BottomRightCornerOption
BottomLeftCornerRadius
BottomRightCornerRadius
PropertyReader
class, that brings a massive performance improvement. setCacheItemPool
in the PropertyReader
class, so the annotation reading can be cached. This can improve the performance on large IDML documents.InDesignVersion
enum to the latest InDesign version with the property INDESIGN_2024
. IDML files will contain the new version number 19.0
when no other definition has been set.>=8.0.2
is now required.private
to public
in class FontStyle
.FontStyle
and ParagraphStyle
.ParagraphStyle
.getPages
and getPageCount
to class AbstractSpread
.getElements
to class Page
.removeElement
to class Page
.isSinglePage
to class Preference
.PreserveLayoutWhenShuffling
and AllowPageShuffle
by its own depending on the page count and layout mode. This improves the handling of pages in InDesign.InDesignVersion
enum to the latest InDesign version with the property INDESIGN_2023
. IDML files will contain the new version number 18.0
when no other definition has been set.bitandblack/qr-code
./
with character -
in Story file names to prevent broken IDML files.Content
.MixedInk
to handle mixed inks.ParentSpread
in addition to the current MasterSpread
to follow Adobes inclusive language.fitFrameToContent
.InDesignVersion
enum to the latest InDesign version with the property INDESIGN_2022
. IDML files will contain the new version number 17.0
when no other definition has been set.HEX
colors can now be added too.Polygon
s are ready to use now.getCharacterStyle
and setCharacterStyle
to CharacterStyleRange
.addContent
to CharacterStyleRange
to allow adding content to a later point.addCharacterStyleRange
to ParagraphStyleRange
to allow adding content to a later point.Web
, Print
or Mobile
. It may be added when initializing a Content
object. This effects the color space and the default black which will be in CMYK or RGB now. Default is Print
.E_USER_DEPRECATION
now.Story::setContent
has been replaced with Story::addContent
.Content
object at first before using any other classes.CharacterStyle
.Oval
class to create circles and ovals. InDesignVersion
Enum supports now version 2021.embedImage()
method. It is available in the classes Image
, EPS
, PDF
and SVG
.MetaData
provides some methods for adding authors and contact information.ImageSrcNotSetException
will be thrown now.fillColor
to class Image
.bitandblack/composer-helper
has been updated, and it's usage too. This fixes some incompatibilities with different environments.bitandblack/image-information
to ^1.5
to make ext-imagick
optional.TransparencySetting
class.IDML\Content\Group
.PDF
class. Crop mode and the page can be defined.TransformAttributeOption
to improve the work with ObjectStyles.addElement
.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()
.IDML\Content
class.QRCode
class has some setters and getters now.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()
.bitandblack/idml-writer
caused error messages. This has been fixed now.GREP expressions can be added to Paragraph Styles now.
Added possibility to set a characters as subscript or superscript in two ways:
Instead of adding new Text()
into a CharacterStyleRange new Subscript()
or new Superscript()
can be used.
CharacterStyles have setPosition()
now. Its values come from the Position
Enum.
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.
ParagraphStyle
the property strikeThru
is now from type bool
.ParagraphStyle
had int
values when they should be float
. This has been fixed now. Fixed handling of spanned or splitted columns and added SpanColumnType
to define the column type in paragraph styles.
Fixed the handling of special characters.
Added a lot of classes for a better handling of special characters. They are all under the namespace IDML\Content\SpecialChars
:
All of them can be used inside a CharacterStyleRange
, for example:
<?php
use IDML\Content\Story\Story;
use IDML\Content\Story\ParagraphStyleRange;
use IDML\Content\Story\CharacterStyleRange;
use IDML\Content\SpecialChars\AutoPageNumber;
$story = new Story();
$story->setContent(
new ParagraphStyleRange(
null,
new CharacterStyleRange(
null,
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
.