1

I want to remove "supplier address" & "place of supply" in my current invoice template which gets generated. Please check the screenshot below

Order Invoice template

<?php namespace Magento\Sales\Model\Order\Pdf;use Magento\Sales\Model\ResourceModel\Order\Invoice\Collection;class Invoice extends AbstractPdf{protected $_storeManager;

protected $_localeResolver;

/**
 * @param \Magento\Payment\Helper\Data $paymentData
 * @param \Magento\Framework\Stdlib\StringUtils $string
 * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
 * @param \Magento\Framework\Filesystem $filesystem
 * @param Config $pdfConfig
 * @param \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory
 * @param \Magento\Sales\Model\Order\Pdf\ItemsFactory $pdfItemsFactory
 * @param \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate
 * @param \Magento\Framework\Translate\Inline\StateInterface $inlineTranslation
 * @param \Magento\Sales\Model\Order\Address\Renderer $addressRenderer
 * @param \Magento\Store\Model\StoreManagerInterface $storeManager
 * @param \Magento\Framework\Locale\ResolverInterface $localeResolver
 * @param array $data
 *
 * @SuppressWarnings(PHPMD.ExcessiveParameterList)
 */
public function __construct(
    \Magento\Payment\Helper\Data $paymentData,
    \Magento\Framework\Stdlib\StringUtils $string,
    \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
    \Magento\Framework\Filesystem $filesystem,
    Config $pdfConfig,
    \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory,
    \Magento\Sales\Model\Order\Pdf\ItemsFactory $pdfItemsFactory,
    \Magento\Framework\Stdlib\DateTime\TimezoneInterface $localeDate,
    \Magento\Framework\Translate\Inline\StateInterface $inlineTranslation,
    \Magento\Sales\Model\Order\Address\Renderer $addressRenderer,
    \Magento\Store\Model\StoreManagerInterface $storeManager,
    \Magento\Framework\Locale\ResolverInterface $localeResolver,
    array $data = []
) {
    $this->_storeManager = $storeManager;
    $this->_localeResolver = $localeResolver;
    parent::__construct(
        $paymentData,
        $string,
        $scopeConfig,
        $filesystem,
        $pdfConfig,
        $pdfTotalFactory,
        $pdfItemsFactory,
        $localeDate,
        $inlineTranslation,
        $addressRenderer,
        $data
    );
}

/**
 * Draw header for item table
 *
 * @param \Zend_Pdf_Page $page
 * @return void
 */
protected function _drawHeader(\Zend_Pdf_Page $page)
{
    /* Add table head */
    $this->_setFontRegular($page, 10);
    $page->setFillColor(new \Zend_Pdf_Color_Rgb(0.93, 0.92, 0.92));
    $page->setLineColor(new \Zend_Pdf_Color_GrayScale(0.5));
    $page->setLineWidth(0.5);
    $page->drawRectangle(25, $this->y, 570, $this->y - 15);
    $this->y -= 10;
    $page->setFillColor(new \Zend_Pdf_Color_Rgb(0, 0, 0));

    //columns headers
    $lines[0][] = ['text' => __('Products'), 'feed' => 35];

    $lines[0][] = ['text' => __('SKU'), 'feed' => 290, 'align' => 'right'];

    $lines[0][] = ['text' => __('Qty'), 'feed' => 435, 'align' => 'right'];

    $lines[0][] = ['text' => __('Price'), 'feed' => 360, 'align' => 'right'];

    $lines[0][] = ['text' => __('Tax'), 'feed' => 495, 'align' => 'right'];

    $lines[0][] = ['text' => __('Subtotal'), 'feed' => 565, 'align' => 'right'];

    $lineBlock = ['lines' => $lines, 'height' => 5];

    $this->drawLineBlocks($page, [$lineBlock], ['table_header' => true]);
    $page->setFillColor(new \Zend_Pdf_Color_GrayScale(0));
    $this->y -= 20;
}

/**
 * Return PDF document
 *
 * @param array|Collection $invoices
 * @return \Zend_Pdf
 */
public function getPdf($invoices = [])
{
    $this->_beforeGetPdf();
    $this->_initRenderer('invoice');

    $pdf = new \Zend_Pdf();
    $this->_setPdf($pdf);
    $style = new \Zend_Pdf_Style();
    $this->_setFontBold($style, 10);

    foreach ($invoices as $invoice) {
        if ($invoice->getStoreId()) {
            $this->_localeResolver->emulate($invoice->getStoreId());
            $this->_storeManager->setCurrentStore($invoice->getStoreId());
        }
        $page = $this->newPage();
        $order = $invoice->getOrder();
        /* Add image */
        $this->insertLogo($page, $invoice->getStore());
        /* Add address */
        $this->insertAddress($page, $invoice->getStore());
        /* Add head */
        $this->insertOrder(
            $page,
            $order,
            $this->_scopeConfig->isSetFlag(
                self::XML_PATH_SALES_PDF_INVOICE_PUT_ORDER_ID,
                \Magento\Store\Model\ScopeInterface::SCOPE_STORE,
                $order->getStoreId()
            )
        );
        /* Add document text and number */
        $this->insertDocumentNumber($page, __('Invoice # ') . $invoice->getIncrementId());
        /* Add table */
        $this->_drawHeader($page);
        /* Add body */
        foreach ($invoice->getAllItems() as $item) {
            if ($item->getOrderItem()->getParentItem()) {
                continue;
            }
            /* Draw item */
            $this->_drawItem($item, $page, $order);
            $page = end($pdf->pages);
        }
        /* Add totals */
        $this->insertTotals($page, $invoice);
        if ($invoice->getStoreId()) {
            $this->_localeResolver->revert();
        }
    }
    $this->_afterGetPdf();
    return $pdf;
}

/**
 * Create new page and assign to PDF object
 *
 * @param  array $settings
 * @return \Zend_Pdf_Page
 */
public function newPage(array $settings = [])
{
    /* Add new table head */
    $page = $this->_getPdf()->newPage(\Zend_Pdf_Page::SIZE_A4);
    $this->_getPdf()->pages[] = $page;
    $this->y = 800;
    if (!empty($settings['table_header'])) {
        $this->_drawHeader($page);
    }
    return $page;
}
6
  • See in Magento\Sales\Model\Order\Pdf\Invoice.php file. Dec 26, 2019 at 5:48
  • @DhadukMitesh I found the file but what to edit in that, will paste the code up on the post.
    – Patrik
    Dec 26, 2019 at 5:51
  • Have you install any custom module for invoice pdf? Dec 26, 2019 at 6:05
  • No its default which is getting generated
    – Patrik
    Dec 26, 2019 at 6:16
  • Supplier Address and Place of Supply is display from custom module. So please check that where it come from. Dec 26, 2019 at 6:27

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.