PHPExcel a generování .pdf

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
webmb
Člen | 4
+
0
-

Ahoj,
mám knihovnu PHPExcel a potřebuju do šablony přidat nějaká data a pak list uložit v .pdf ukážu na příkladu

$dokument = \PHPExcel_IOFactory::load($this->context->parameters['wwwDir'] . '/documents/template/' . $templateName);
$dokument->setActiveSheetIndex(0);
$list = $dokument->getActiveSheet();
    $list->setCellValue('A1', "test");
$writer = \PHPExcel_IOFactory::createWriter($dokument, 'PDF');
    $writer->save($this->context->parameters['wwwDir'] . '/documents/files/' . $this->number . '.pdf');

tohle mi vyhodí chybu : PDF Rendering library has not been defined.

Podle Google bych si měl nainstalovat knihovnu pro generování PDF?

když do PDF.php v knihovně PHPExcel přidám natvrdo

$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF;
$rendererLibrary = 'MPDF57';
$rendererLibraryPath = 'C:/server/www/nazev-webu/vendor/' . $rendererLibrary;

tak je to pořád stejné… už si nevím rady možná někde dělám triviální blbost nebo jsem to pochopil úplně špatně opravdu nevím

Za každou radu budu vděčný,
Milan

iguana007
Člen | 970
+
0
-

Ahoj,
nikdy jsem to nepouzil, ale dle google ti tam podstatna cast kodu chybi. Sice definujes promenne s hodnotami nutnymi ke konfiguraci exportu do PDF, ale jiz je nikam nepredavas. Ta druha cast kodu, kterou si uvedl by mela pokracovat cca takto (jen si tam dopln spravne hodnoty):

// Tell PHPExcel that you're planning on using the tcPDF library
// and where the tcPDF library is installed on your server
$rendererName = PHPExcel_Settings::PDF_RENDERER_TCPDF
$rendererLibrary = 'tcPDF5.9';
$rendererLibraryPath = '/php/libraries/PDF/' . $rendererLibrary;

if (!PHPExcel_Settings::setPdfRenderer(
        $rendererName,
        $rendererLibraryPath
    )) {
    die(
        'NOTICE: Please set the $rendererName and $rendererLibraryPath values' .
        EOL .
        'at the top of this script as appropriate for your directory structure'
    );
}

// Create a Writer for PDF, which will automatically pick up the settings that you've defined
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');
// And write the spreadsheet to a PDF file
$objWriter->save('myPDFSpreadsheet.pdf');

Zdroj: https://github.com/…l/issues/152