bitandblack / idml-writer
Writes an Adobe IDML file out of a given content
Fund package maintenance!
Buymeacoffee
Requires
- php: >=8.2
- maennchen/zipstream-php: ^3.0
- symfony/console: ^6.0 || ^7.0
Requires (Dev)
- ext-zip: *
- bitandblack/helpers: ^2.0
- phpstan/phpstan: ^1.0
- phpunit/phpunit: ^11.0
- rector/rector: ^1.0
- symplify/easy-coding-standard: ^12.0
Suggests
- bitandblack/idml-creator: The full version of the IDML-Creator. This library can be used with Private Packagist.
- bitandblack/idml-creator-demo: Creates IDML content natively. This is a demo library.
- bitandblack/idml-validator: Validates IDML files.
- bitandblack/indesign-characters: Special characters used by Adobe InDesign.
README
Bit&Black IDML Writer
This library writes an Adobe IDML file out of a given content.
Installation
This library is made for the use with Composer. Add it to your project by running $ composer require bitandblack/idml-writer
.
Usage
When creating a new instance of the Writer, you need to pass your content as first parameter and the IDML tree as second parameter:
<?php
use BitAndBlack\IdmlWriter\File\Tree;
use BitAndBlack\IdmlWriter\Writer;
$writer = new Writer(
$myIDMLContent,
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:
<?php
$writer->create('myFile.idml');
Alternatively, if you want to get the content to store it by yourself or do whatever else, call getContent()
:
<?php
$idmlFileContent = $writer->getContent();
file_put_contents(
'myFile.idml',
$idmlFileContent
);
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 www.idml.dev/en/idml-creator-php.html.
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 www.adobe.com. 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 packagist.org by its name bitandblack/idml-validator
.
Help
If you have any questions, feel free to contact us under hello@bitandblack.com
.
Further information about Bit&Black can be found under www.bitandblack.com.