I would like to create a PDF file, how can I generate PDF programmatically in Magento 2
To create a PDF file in Magento 2
Step 1 | Define Zend_Pdf object and set page size |
Step 2 | Set style and font for new Magento 2 PDF file |
Step 3 | Draw content by called drawText, drawRectangle or other methods |
Step 4 | Call class FileFactory and saving the content as Magento PDF file |
Here is the example to creating a PDF file in Magento 2
$pdf = new \Zend_Pdf();
$pdf->pages[] = $pdf->newPage(\Zend_Pdf_Page::SIZE_A4);
$page = $pdf->pages[0]; // this will get reference to the first page.
$style = new \Zend_Pdf_Style();
$style->setLineColor(new \Zend_Pdf_Color_Rgb(0,0,0));
$font = \Zend_Pdf_Font::fontWithName(\Zend_Pdf_Font::FONT_TIMES);
$style->setFont($font,15);
$page->setStyle($style);
$width = $page->getWidth();
$hight = $page->getHeight();
$x = 40;
$pageTopalign = 850; //default PDF page height
$y = $pageTopalign - 50;
$style->setFont($font,16);
$page->setStyle($style);
$page->drawText(__("Text Text"), $x + 5, $y+50, 'UTF-8');
$fileName = 'test.pdf';
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$fileFactory = $objectManager->get('Magento\Framework\App\Response\Http\FileFactory');
$fileFactory->create($fileName,$pdf->render(),\Magento\Framework\App\Filesystem\DirectoryList::VAR_DIR,'application/pdf');