function split_multi_pdf($arrayOfFiles) { $new_path = storage_path() . '/Kohlspos'; if (!is_dir($new_path)) { // Will make directories under end directory that don't exist // Provided that end directory exists and has the right permissions mkdir($new_path, 0777, true); } foreach ($arrayOfFiles as $file) { $tempArrayOfPos = array(); $tempArrayOfPos = $this->getArrayOfPOs($file); $pdf = new FPDI(); $pagecount = $pdf->setSourceFile($file); // How many pages? for ($i = 1; $i <= $pagecount; $i++) { $singleItem = $tempArrayOfPos[$i - 1]; // dd($singleItem); $tempPackingList = PackingList::where('po', '=', $singleItem['PO'])->first(); if ($tempPackingList == null) { $new_pdf = new FPDI(); $new_pdf->AddPage(); $new_pdf->setSourceFile($file); $newPackingList = new PackingList(); $newPackingList->po = trim($singleItem['PO']); $newPackingList->shipterms = trim($singleItem['shipterms']); $new_pdf->useTemplate($new_pdf->importPage($i)); try { $new_filename = storage_path() . '/Kohlspos/' . $singleItem['PO'] . '.pdf'; $newPackingList->pathToFile = $new_filename; $new_pdf->Output($new_filename, "F"); $newPackingList->save(); } catch (Exception $e) { echo 'Caught exception: ', $e->getMessage(), "\n"; } } } } }