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

У меня есть установка TCPDF в моей установке 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...

Я заметил, что при попытке использовать TCPDF StartTransaction, CommitTransaction и rollbackTransaction возникают ошибки. Я не выяснил, почему это так, но я получил бы ошибку о доступе к закрытым методам (я думаю, это было некоторое время назад, когда я пытался), в любом случае, все остальное работает отлично.

person ryan    schedule 26.03.2010
comment
Спасибо, это действительно помогло мне. - person Tomba; 20.09.2010