tami: zur Info: PDFs zusammenfassen in einem Ordner mit ZF2 - OOP

Beitrag lesen

hi tami,

$this->_mergedPdf->pages[] = $clonedPage;

muss ->_mergedPage heißen:

  
<?php  
namespace Rob;  
use ZendPdf\PdfDocument;  
  
//takes folderslist and puts all pdfs of each folder in one pdf named as the folder  
// documents must all be plain, no links to mailadresses, links do not work with ZendPdf at End of 2014  
class SumPdfsInFolders {  
    //filelist of folders  
    private $_fileNames = array();  
    //will be object - PdfDocument  
    private $_mergedPage = NULL;  
  
    private function _message($message) {  
        echo "message: " . $message . "\n";  
    }  
  
   //walk filenames an clone  
    private function _walkAndClone() {  
        foreach ($this->_fileNames  as $fileName) {  
            $this->_clonePageAndAdd($fileName);  
        }  
    }  
  
   //clone page and append to merge-document  
    private function _clonePageAndAdd($fileName) {  
        $tmpPdf = PdfDocument::load($fileName);  
        foreach($tmpPdf->pages as $page){  
            $clonedPage = clone $page;  
            $this->_mergedPage->pages[] = $clonedPage;  
        }  
    }  
  
    public function __construct($folderNames) {  
        foreach ($folderNames as $folderName) {  
            $this->_mergedPage = new PdfDocument();  
            $this->_fileNames = glob($folderName . "/*.pdf");  
            $this->_walkAndClone();  
            $this->_mergedPage->save($folderName . '.pdf');  
            $this->_message($folderName . " created");  
        }  
    }  
}  

mfg

tami