Използване на TCPDF и FPDI с торта php

Имам настройка на TCPDF в моята инсталация на cake php и сега се опитвам да използвам и FPDI с него, тъй като трябва да добавя PDF към началото на PDF, който се генерира.

Когато се опитвам да направя това, използвам 3 класа

XTCPDF, който съдържа моите заглавни данни FPDI - FPDI клас TCPDF - TCPDF клас

и е настроен така:

XTCPDF разширява FPDI FPDI разширява TCPDF

Когато се опитвам да генерирам PDF с това, като използвам команди от FPDI класове, получавам следната грешка:

Fatal error: Cannot access protected property XTCPDF::$PDFVersion in C:\Program Files\XAMPP\xampp\htdocs\quote\app\vendors\fpdi\fpdi_pdf_parser.php on line 388

Мисля, че това може да е проблем с обхвата, но не съм много сигурен, също така тествах, като го промених, за да не включва XTCPDF клас, но се появява същата грешка,

РЕДАКТИРАНЕ: Кодът, който използвам за достъп до класа FPDI, е:

    $tcpdf->setSourceFile(APP.'webroot'.DS.'img'.DS.'pdf'.DS.'front_cover.pdf');
$frontCover = $tcpdf->importPage(1); 
$tcpdf->useTemplate($frontCover);

Благодаря предварително за всяка помощ :D


person kwhohasamullet    schedule 02.03.2010    source източник
comment
Грешката гласи, че се опитвате да получите достъп до променливата член $PDFVersion, но това не е разрешено. Публикувайте кода, където се опитвате да използвате тази стойност.   -  person deceze♦    schedule 02.03.2010


Отговори (1)


Не съм сигурен как сте добавили FPDI и TCPDF към вашето приложение за торта. Имах някои проблеми, когато правех нещо подобно. Разбрах, че трябва да импортирате TCPDF, след това FPDI и след това да накарате XTCPDF да разшири FPDI.

И така, в моята папка с доставчици имам файл xtcpdf.php, който изглежда по следния начин:

<?php
App::import('Vendor','tcpdf/tcpdf');
App::import('Vendor','fpdi/fpdi');

class XTCPDF  extends FPDI {

function header() {}
function footer() {}

#other custom methods...

?>

Тъй като FPDI вече разширява TCPDF, вие получавате достъп до TCPDF, като включите FPDI...

Забелязах, че когато се опитвах да използвам StartTransaction, CommitTransaction и rollbackTransaction на TCPDF, това причинява грешки. Не разбрах защо е така, но бих получил грешка за достъп до частни методи (мисля, че преди малко опитах) така или иначе, всичко останало изглежда работи чудесно.

person ryan    schedule 26.03.2010
comment
Благодаря, това наистина ми помогна. - person Tomba; 20.09.2010