/** * {@inheritdoc} */ public function submitPrintJob(Printer $printer, FileInterface $file) { $title = 'file-' . $file->getId(); $parameters = ['printerid' => $printer->getVendorId(), 'title' => $title, 'ticket' => '{ "version": "1.0", "print": {} }', 'content' => new PostFile('content', fopen($file->getLocalPath(), 'r'))]; $response = $this->postRequest('submit', $parameters); $setAt = new \DateTime(); $setAt->setTimestamp(substr($response['job']['createTime'], 0, 10)); $job = new Job(); $job->setFile($file)->setJobId($response['job']['id'])->setMetadata($response['job'])->setPrinter($printer)->setSentAt($setAt)->setStatus($response['job']['status'])->setTitle($response['job']['title']); return $job; }