public function loadXml(SimpleXMLElement $e)
 {
     $template = new Template();
     foreach ($e->blocks->children() as $type => $blockNode) {
         $blockClassName = "\\Tagliatelle\\Model\\Block\\" . ucfirst($type) . "Block";
         if (!class_exists($blockClassName)) {
             throw new RuntimeException("Unsupported block-type: " . $type);
         }
         $block = new $blockClassName();
         foreach ($blockNode->attributes() as $name => $value) {
             $setter = 'set' . ucfirst($name);
             $block->{$setter}($value);
         }
         $template->addBlock($block);
     }
     return $template;
 }
Example #2
0
<?php

require_once __DIR__ . '/../vendor/autoload.php';
use Tagliatelle\Model\Page;
use Tagliatelle\Model\Template;
use Tagliatelle\Model\Block\TextBlock;
use Tagliatelle\Model\Block\Ean13Block;
use Tagliatelle\Generator\FpdfGenerator;
$page = new Page();
$page->setWidth(200);
$page->setHeight(300);
$page->setMargin(10, 20, 10, 5);
$block = new TextBlock();
$block->setX(10);
$block->setY(10);
$block->setContent('Hello [name]');
$template = new Template();
$template->setName('Name badge');
$template->addBlock($block);
$rows = [['name' => 'Alice', 'nr' => '67890'], ['name' => 'Bob', 'nr' => '12345'], ['name' => 'Carol', 'nr' => '98989']];
$generator = new FpdfGenerator();
$data = $generator->generate($page, $template, $rows);
file_put_contents('output.pdf', $pdf);