Pergunta

This is not about adding by composer. This is about downloading and then using it. For Example: I download TCPDF Library and follows these steps it should be installed and usable but it doesn't works as explained.

When we need use this line?

require_once DIR . '/../../../../../lib/folder/folder/ntlmstream.php';

What is the Role of autoload?

Thanks

Foi útil?

Solução

This is the way I figured for TCPDF Library:

  1. Download TCPDF from https://github.com/tecnickcom/tcpdf

  2. Change the name of the file root directory after extraction to TCPDF

  3. Inside this directory, there is a tcpdf.php file, change the name to TCPDF

  4. Open the file and change the class name from tcpdf to TCPDF_TCPDF

  5. Copy the files into your Magento “lib/internal” folder in the root Magento installation directory.

=>So it should look like this: lib/internal/TCPDF

Now, write below statement in the class where you want to make tcpdf object:

require_once('lib/internal/TCPDF/TCPDF.php');

And use this class as:

$tcpdf = new \TCPDF_TCPDF();

Example Code is:

<?php

namespace Vendor\Module\Controller\Adminhtml\Generatepdf;

use Magento\Backend\App\Action\Context;
use Magento\Framework\App\Filesystem\DirectoryList;

require_once('lib/internal/TCPDF/TCPDF.php');

class CreatePdf extends \Magento\Backend\App\Action  {

protected $_dir;
protected $customerName;
protected $order;
public function __construct(
Context $context,
Order $order,
DirectoryList $dir

)
{
$this->order = $order;
$this->_dir = $dir;

parent::__construct($context);
}

public function execute() {

$tcpdf = new \TCPDF_TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$tcpdf->SetCreator(PDF_CREATOR);

$tcpdf->SetTitle('Title');

$tcpdf->setPrintHeader(false);

$tcpdf->setPrintFooter(false);


// set default monospaced font

$tcpdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);


// set margins

$tcpdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);

$tcpdf->SetHeaderMargin(PDF_MARGIN_HEADER);

$tcpdf->SetFooterMargin(PDF_MARGIN_FOOTER);


// set auto page breaks

$tcpdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);


// set image scale factor

$tcpdf->setImageScale(PDF_IMAGE_SCALE_RATIO);


// set some language-dependent strings (optional)

if (@file_exists(dirname(__FILE__) . '/lang/eng.php')) {

    require_once(dirname(__FILE__) . '/lang/eng.php');

    $tcpdf->setLanguageArray($l);

}

// ---------------------------------------------------------

// set default font subsetting mode

$tcpdf->setFontSubsetting(true);

//your htmls here

$html=$this->getHtml();

// set some language dependent data:

$lg = Array();

$lg['a_meta_charset'] = 'UTF-8';


$tcpdf->setLanguageArray($lg);


// set font

//dejavusans & freesans For Indian Rupees symbol

$tcpdf->SetFont('freesans', '', 12);

// remove default header/footer

//$tcpdf->setPrintHeader(false);

$tcpdf->setPrintFooter(false);


$tcpdf->AddPage();


$tcpdf->writeHTML($html, true, false, true, false, '');


$tcpdf->lastPage();

//$tcpdf->Output('report_per_route.pdf', 'I');

//$this->logger->debug('report_per_route');
$baseurl = $this->getDirPath();
$filename = $baseurl .'/export/'. 'Sample_pdf'. time().'.pdf';
$tcpdf->Output($filename, 'I');
}

}
?>

Happy coding :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top