51 $this->_fileFactory = $fileFactory;
52 parent::__construct($context);
63 $this->shipmentLoader->setOrderId($this->
getRequest()->getParam(
'order_id'));
64 $this->shipmentLoader->setShipmentId($this->
getRequest()->getParam(
'shipment_id'));
65 $this->shipmentLoader->setShipment($this->
getRequest()->getParam(
'shipment'));
66 $this->shipmentLoader->setTracking($this->
getRequest()->getParam(
'tracking'));
67 $shipment = $this->shipmentLoader->load();
68 $labelContent =
$shipment->getShippingLabel();
71 if (stripos($labelContent,
'%PDF-') !==
false) {
72 $pdfContent = $labelContent;
74 $pdf = new \Zend_Pdf();
75 $page = $this->labelGenerator->createPdfPageFromImageString($labelContent);
77 $this->messageManager->addError(
79 'We don\'t recognize or support the file extension in this shipment: %1.',
84 $pdf->pages[] =
$page;
85 $pdfContent = $pdf->render();
88 return $this->_fileFactory->create(
89 'ShippingLabel(' .
$shipment->getIncrementId() .
').pdf',
96 $this->messageManager->addError($e->getMessage());
97 }
catch (\Exception $e) {
98 $this->_objectManager->get(\Psr\Log\LoggerInterface::class)->critical($e);
99 $this->messageManager->addError(
__(
'An error occurred while creating shipping label.'));
102 'adminhtml/order_shipment/view',
103 [
'shipment_id' => $this->
getRequest()->getParam(
'shipment_id')]
_redirect($path, $arguments=[])
__construct(Action\Context $context, \Magento\Shipping\Controller\Adminhtml\Order\ShipmentLoader $shipmentLoader, \Magento\Shipping\Model\Shipping\LabelGenerator $labelGenerator, \Magento\Framework\App\Response\Http\FileFactory $fileFactory)
foreach($order->getItems() as $orderItem) $shipment