Siccome è una domanda che ogni tanto viene posta vedo di dare una soluzione, grabbata dal post di un utente di joomla.org, che sembra funzionare.
Joomla usa tcpdf e quindi con tcpdf volevo restare, dopo vediamo come usare alternative.
Innanzitutto la versione di tcpdf usata da joomla è vecchia e non supporta moltissime cose che rendono molto più semplice l'utilizzo.
Quello che ho rilevato purtroppo è che se si fa l'upgrade, che è molto semplice, basta sostituire la cartella in /libraries, non funzionano più gli script di joomla, ...probabilmente c'è qualche incompatibilità, ...maaa nessun problema

Scarichiamo ugualmente l'ultima versione di tcpdf e la mettiamo in una cartella assets/libraries del nostro componente.
A qs punto vedete un po' voi come fare con l'mvc, io avevo una view.pdf e lì l'ho usata ma ho notato dei piccoli malfunzionamenti, probabilmente dovuti a qs... magari modificherò...
allora diciamo.. pulsante che chiama il metodo miopdf() nel controller che istanzia una view('miaview', pdf);
nella view.pdf.php:
----------------------------
function display($tpl = null) {
//parent::display();
// create new PDF document
require_once(JPATH_COMPONENT.DS.'assets'.DS.'libraries'.DS.'tcpdf'.DS.'config'.DS.'lang'.DS.'ita.php');
require_once(JPATH_COMPONENT.DS.'assets'.DS.'libraries'.DS.'tcpdf'.DS.'tcpdf.php');
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 001');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 001', PDF_HEADER_STRING);
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
//set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
//set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
//set some language-dependent strings
$pdf->setLanguageArray($l);
// ---------------------------------------------------------
// set default font subsetting mode
$pdf->setFontSubsetting(true);
// Set font
// dejavusans è un UTF-8 Unicode font, se vuoi solamente stampare ASCII chars, puoi usare core fonts come
// helvetica o times per ridurre le dimensioni del file.
$pdf->SetFont('dejavusans', '', 14, '', true);
// Add a page
// Questo metodo ha varie opzioni, guarda la documentazione
$pdf->AddPage();
// Set some content to print
$html = '
<h1>Welcome to <a href="http://www.tcpdf.org" style="text-decoration:none;color:black;"><span style="background-color:#CC0000;"> TC<span style="color:white;">PDF</span> </span>[/url]!</h1>
This is the first example of TCPDF library. <p>This text is printed using the
writeHTMLCell() method but you can also use:
Multicell(), writeHTML(), Write(), Cell() and Text().</p>
<p>Please check the source code documentation and other examples for further information.</p>
<p style="color:#CC0000;">TO IMPROVE AND EXPAND TCPDF I NEED YOUR SUPPORT, PLEASE
MAKE A DONATION!</p>';
// Print text using writeHTMLCell()
$pdf->writeHTMLCell($w=0, $h=0, $x='100', $y='', $html, $border=0, $ln=1, $fill=0, $reseth=true, $align='', $autopadding=true);
// Close and output PDF document
// Questo metodo ha varie opzioni, guarda la documentazione
$pdf->Output('example_001.pdf', 'D');
}
in questo modo è indipendente da tcpdf usato da joomla.
Come si può vedere, negli script vengono usate molte costanti definite nella configurazione (define) che trovate nelle sue cartelle, dove c'è ampia documentazione ed esempi d'uso.
Dicevamo prima... usare altre classi invece di tcpdf... non cambia nulla, mettete la cartella accanto a tcpdf
fate l'import che normalmente joomla fa con jimport:
require_once(JPATH_COMPONENT.DS.'assets'.DS.'libraries'.DS.'CLASSE_CARTELLA'.DS.'CLASSE_FILE.php');
... e così con tutti i files richiesti dalla classe.
Attenzione a non usare classi non compatibili con utf-8
M.