A Domino Unicontroller client written in PHP.
Check out the Class Generator Readme to see how this client was written.
Via Composer
$ composer require graze/unicontroller-client
# instantiate a client
$client = Graze\UnicontrollerClient\UnicontrollerClient::factory();
# connect to a printer
$dsn = '172.16.1.1:9100';
$client->connect($dsn);
# send the 'ReadDesign' command to the printer
$designName = 'current.Design';
$designCurrent = $client->ReadDesign($designName, 0, 0);
# client returns the 'ReadDesign' entity, as defined in the Unicontroller specification
if (!$designCurrent->getReadOk()) {
echo sprintf('failed to read design, does %s exist?', $designName);
exit;
}
# modify some text
$ttfItem = $designCurrent->getTtfArray()[0];
$ttfItem->setData('this is some example text');
# add an image
$imageData = file_get_contents('/path/to/image.bmp');
$pictureItem = new Graze\UnicontrollerClient\Entity\Entity\EntityPictureItem();
$pictureItem->setAnchorPoint(0);
$pictureItem->setXPos(9500);
$pictureItem->setYPos(400);
$pictureItem->setWidth(0);
$pictureItem->setHeight(0);
$pictureItem->setOrion(0);
$pictureItem->setDescription('image1');
$pictureItem->setMaintain(1);
$pictureItem->setPrinterReferenceName('image.bmp');
$pictureItem->setUsePixelSize(1);
$pictureItem->setPictureData($imageData);
$pictureItem->setStoreInternally(0);
$pictureItem->setPhantomField(0);
$designCurrent->setPictureArray([$pictureItem]);
# push the design to the printer
$entity->setName('new.Design');
$entity->setSaveDesign(1);
$designNew = $client->serialise($designCurrent);
$resp = $client->send('Design', $designNew, 1);
if (!$resp->success()) {
echo 'something went wrong';
}
Please see CHANGELOG for more information what has changed recently.
$ make test
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.