recursiveRemoveDirectory($tempDirectory); } $logger->log(Logger::INFO, sprintf('Making temporary directory %s.', $tempDirectory)); mkdir($tempDirectory); // ----------------------------------------------------------------------------- // Generate temporary documents $tempFilenames = array(); $mailMerge = new MailMerge(); $mailMerge->setUsername(DEMOS_ZENDSERVICE_LIVEDOCX_FREE_USERNAME)->setPassword(DEMOS_ZENDSERVICE_LIVEDOCX_FREE_PASSWORD)->setService(MailMerge::SERVICE_FREE); // for LiveDocx Premium, use MailMerge::SERVICE_PREMIUM; $mailMerge->setLocalTemplate('template.docx'); for ($iteration = 1; $iteration <= $iterations; $iteration++) { $tempFilename = sprintf('%s%s%010s.pdf', $tempDirectory, DIRECTORY_SEPARATOR, $iteration); $tempFilenames[] = $tempFilename; $mailMerge->assign('software', randomString())->assign('licensee', randomString())->assign('company', randomString())->assign('date', Helper::currentDate())->assign('time', Helper::currentTime())->assign('city', randomString())->assign('country', randomString()); $mailMerge->createDocument(); file_put_contents($tempFilename, $mailMerge->retrieveDocument('pdf')); $logger->log(Logger::INFO, sprintf('Generating temporary document %s.', $tempFilename)); } unset($mailMerge); // ----------------------------------------------------------------------------- // Concatenate temporary documents and write output document $outputFilename = __DIR__ . DIRECTORY_SEPARATOR . 'document-concat.pdf'; $logger->log(Logger::INFO, 'Concatenating temporary documents...'); if (true === concatenatePdfFilenames($tempFilenames, $outputFilename, $processor, $logger)) { $logger->log(Logger::INFO, sprintf('...DONE. Saved output document as %s.', basename($outputFilename))); } else { $logger->log(Logger::ERR, sprintf('...ERROR.')); } // ----------------------------------------------------------------------------- // Delete temporary directory