Resize Pages
This demo shows you how to resize the page boundary boxes by a given offset.
Notice that the content is not scaled and a kind of padding is created by this logic.
PHP
<?php // load and register the autoload function require_once __DIR__ . '/../../../../../bootstrap.php'; $files = [ $assetsDirectory . '/pdfs/Brand-Guide.pdf', $assetsDirectory . '/pdfs/camtown/Terms-and-Conditions.pdf', $assetsDirectory . '/pdfs/etown/Laboratory-Report.pdf', ]; $path = displayFiles($files); // create a writer instance $writer = new SetaPDF_Core_Writer_Http('resize-pages.pdf', true); // create a document instance $document = SetaPDF_Core_Document::loadByFilename($path, $writer); // get the pages helper $pages = $document->getCatalog()->getPages(); // iterate the document page by page and get some properties for ($pageNo = 1, $pageCount = $pages->count(); $pageNo <= $pageCount; $pageNo++) { // get the page object $page = $pages->getPage($pageNo); // resize all available page boxes foreach (SetaPDF_Core_PageBoundaries::$all AS $boxName) { $box = $page->getBoundary($boxName, false); if ($box === false) { continue; } $box->setLlx($box->getLlx() - 100); $box->setLly($box->getLly() - 100); $box->setUrx($box->getUrx() + 100); $box->setUry($box->getUry() + 100); // reset the box $page->setBoundary($box, $boxName); } } $document->save()->finish();