0
    public function execute()
{
    $invoiceId = $this->getRequest()->getParam('invoice_id');
    if ($invoiceId) {
        $invoice = $this->_objectManager->create(
            \Magento\Sales\Api\InvoiceRepositoryInterface::class
        )->get($invoiceId);
        if ($invoice) {
            $pdf = $this->_objectManager->create(\Magento\Sales\Model\Order\Pdf\Invoice::class)->getPdf([$invoice]);
            
            $date = $this->_objectManager->get(
                \Magento\Framework\Stdlib\DateTime\DateTime::class
            )->date('Y-m-d ');
       
            $fileContent = ['type' => 'string', 'value' => $pdf->render(), 'rm' => true];

            return $this->_fileFactory->create(
                'invoice'  . $date  . $invoiceId . '.pdf',
                $fileContent,
                DirectoryList::VAR_DIR,
                'application/pdf'
            );
        }
    } else {
        return $this->resultForwardFactory->create()->forward('noroute');
    }
}

如何使用订单 ID 更改 invoiceid 以重命名 pdf 发票名称

****我如何用订单号代替invoiceid ****

4

1 回答 1

0

您可以轻松地从发票对象中获取 orderid。

$invoice->getOrderId();

如果您想要订单增量 ID 而不是订单 ID,则必须按订单 ID 创建订单对象。在此订单对象中,您将获得增量 ID。

于 2022-02-14T17:22:13.420 回答