16 use Magento\Sales\Model\ResourceModel\Order\Shipment\CollectionFactory as ShipmentCollectionFactory;
22 class Pdfshipments extends \Magento\Sales\Controller\Adminhtml\Order\AbstractMassAction
72 parent::__construct($context,
$filter);
84 $shipmentsCollection = $this->shipmentCollectionFactory
86 ->setOrderFilter([
'in' =>
$collection->getAllIds()]);
87 if (!$shipmentsCollection->getSize()) {
88 $this->messageManager->addErrorMessage(
__(
'There are no printable documents related to selected orders.'));
92 $pdf = $this->pdfShipment->getPdf($shipmentsCollection->getItems());
93 $fileContent = [
'type' =>
'string',
'value' => $pdf->render(),
'rm' =>
true];
95 return $this->fileFactory->create(
96 sprintf(
'packingslip%s.pdf', $this->dateTime->date(
'Y-m-d_H-i-s')),
98 DirectoryList::VAR_DIR,
__construct(Context $context, Filter $filter, CollectionFactory $collectionFactory, DateTime $dateTime, FileFactory $fileFactory, Shipment $shipment, ShipmentCollectionFactory $shipmentCollectionFactory)
$shipmentCollectionFactory
massAction(AbstractCollection $collection)
foreach($order->getItems() as $orderItem) $shipment