SetaPDF Demos

There seems to be a problem loading the components. Please check your PHP error logs for details!

Common issues could be that you missed to install the trial license or that you are using a trial version on an unsupported PHP version.

Rotation

This demo shows the rotation behavior of stamp objects. The rotation is done so that the stamp appearance is completely visible throughout.

PHP
<?php

// load and register the autoload function
require_once __DIR__ . '/../../../../../bootstrap.php';

$rotationOptions = require 'options.php';

$value = displaySelect('Position & Rotation:', $rotationOptions);
$data = $rotationOptions[$value];

$writer = new \SetaPDF_Core_Writer_Http('positioning-and-translate.pdf', true);
$document = new \SetaPDF_Core_Document($writer);
// let's add 2 pages for demonstration purpose
$pages = $document->getCatalog()->getPages();
$pages->create(\SetaPDF_Core_PageFormats::A4, \SetaPDF_Core_PageFormats::ORIENTATION_PORTRAIT);
$pages->create(\SetaPDF_Core_PageFormats::A4, \SetaPDF_Core_PageFormats::ORIENTATION_LANDSCAPE);

// create a stamper instance
$stamper = new \SetaPDF_Stamper($document);

// create a font instance which is needed for the text stamp instance
$font = new \SetaPDF_Core_Font_TrueType_Subset(
    $document,
    $assetsDirectory . '/fonts/DejaVu/ttf/DejaVuSans.ttf'
);

// create a stamp instance
$stamp = new \SetaPDF_Stamper_Stamp_Text($font, 12);
$stamp->setBackgroundColor([0.5, 1, 1]);
$stamp->setBorderWidth(1);
$stamp->setPadding(2);
$stamp->setWidth(180);
$stamp->setAlign(\SetaPDF_Core_Text::ALIGN_CENTER);
$stamp->setText('A simple example text to demonstrate rotation.');

// add the stamp object on all pages on the given position
$stamper->addStamp(
    $stamp,
    [
        'position' => $data['position'],
        'rotation' => $data['rotation']
    ]
);

// execute the stamp process
$stamper->stamp();

// save and finish the document instance
$document->save()->finish();
PHP
<?php

return [
    [
        'displayValue' => '\SetaPDF_Stamper::POSITION_LEFT_TOP & 45°',
        'position' => \SetaPDF_Stamper::POSITION_LEFT_TOP,
        'rotation' => 45
    ],
    [
        'displayValue' => '\SetaPDF_Stamper::POSITION_LEFT_TOP & -45°',
        'position' => \SetaPDF_Stamper::POSITION_RIGHT_TOP,
        'rotation' => -45
    ],
    [
        'displayValue' => '\SetaPDF_Stamper::POSITION_CENTER_TOP & 180°',
        'position' => \SetaPDF_Stamper::POSITION_CENTER_TOP,
        'rotation' => 180
    ],
    [
        'displayValue' => '\SetaPDF_Stamper::POSITION_LEFT_MIDDLE & 90°',
        'position' => \SetaPDF_Stamper::POSITION_LEFT_MIDDLE,
        'rotation' => 90
    ],
    [
        'displayValue' => '\SetaPDF_Stamper::POSITION_CENTER_MIDDLE & 25°',
        'position' => \SetaPDF_Stamper::POSITION_CENTER_MIDDLE,
        'rotation' => 25
    ],
    [
        'displayValue' => '\SetaPDF_Stamper::POSITION_RIGHT_MIDDLE & -90°',
        'position' => \SetaPDF_Stamper::POSITION_RIGHT_MIDDLE,
        'rotation' => -90
    ],

    [
        'displayValue' => '\SetaPDF_Stamper::POSITION_LEFT_BOTTOM & 45°',
        'position' => \SetaPDF_Stamper::POSITION_LEFT_BOTTOM,
        'rotation' => 45
    ],
    [
        'displayValue' => '\SetaPDF_Stamper::POSITION_RIGHT_BOTTOM & -45°',
        'position' => \SetaPDF_Stamper::POSITION_RIGHT_BOTTOM,
        'rotation' => -45
    ],
    [
        'displayValue' => '\SetaPDF_Stamper::POSITION_CENTER_BOTTOM & 180°',
        'position' => \SetaPDF_Stamper::POSITION_CENTER_BOTTOM,
        'rotation' => 180
    ],
];