_fileFactory = $fileFactory; $this->resultForwardFactory = $resultForwardFactory; $this->creditmemoRepository = $creditmemoRepository; parent::__construct($context); } /** * @return ResponseInterface|\Magento\Backend\Model\View\Result\Forward * @throws \Exception */ public function execute() { /** @see \Magento\Sales\Controller\Adminhtml\Order\Invoice */ $creditmemoId = $this->getRequest()->getParam('creditmemo_id'); if ($creditmemoId) { $creditmemo = $this->creditmemoRepository->get($creditmemoId); if ($creditmemo) { $pdf = $this->_objectManager->create( \Magento\Sales\Model\Order\Pdf\Creditmemo::class )->getPdf( [$creditmemo] ); $date = $this->_objectManager->get( \Magento\Framework\Stdlib\DateTime\DateTime::class )->date('Y-m-d_H-i-s'); $fileContent = ['type' => 'string', 'value' => $pdf->render(), 'rm' => true]; return $this->_fileFactory->create( \creditmemo::class . $date . '.pdf', $fileContent, DirectoryList::VAR_DIR, 'application/pdf' ); } } else { $resultForward = $this->resultForwardFactory->create(); $resultForward->forward('noroute'); return $resultForward; } } }