. */ namespace App\Controller; use App\Entity\LabelSystem\LabelProfile; use App\Entity\Parts\Part; use App\Helpers\LabelResponse; use App\Services\LabelSystem\LabelGenerator; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\BinaryFileResponse; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\ResponseHeaderBag; use Symfony\Component\Routing\Annotation\Route; /** * @Route("/label") * @package App\Controller */ class LabelController extends AbstractController { protected $labelGenerator; public function __construct(LabelGenerator $labelGenerator) { $this->labelGenerator = $labelGenerator; } /** * @Route("/{profile}/{part}/view") */ public function view(LabelProfile $profile, Part $part) { $label = $this->labelGenerator->generateLabel($profile->getOptions(), $part); $response = new LabelResponse($label); $response->setContentDisposition(ResponseHeaderBag::DISPOSITION_INLINE, 'label.pdf'); return $response; } }