Как реализовать ImageSVG() с использованием FPDI и TCPDF для рендеринга PDF?

Я использую FPDI для рендеринга PDF-файла, в котором PDF-файл установлен в качестве фона, но хочу включить в него файл SVG, что по какой-то причине дает мне ошибку при использовании библиотеки TCPDF вместе с ней. Есть ли обходные пути, или мой код неверен.

(до того, как я вставил строки «ImageSVG» и «require ('tcpdf.php')», он работал отлично)

Вот мой PHP-код:

ob_clean();
ini_set("session.auto_start", 0);
define('FPDF_FONTPATH','font/');
define('FPDI_FONTPATH','font/');
require('fpdf.php');
require('fpdi.php');
require('tcpdf.php');

$pdf = new FPDI();

// let's get an id for the background template
$pdf->setSourceFile('/home/user/public_html'.$pdfName);
$backId = $pdf->importPage(1);

// iterate over all pages of HTML_Generated_pdf.pdf and import them
$pageCount = $pdf->setSourceFile('/home/user/public_html/wp-content/themes/myTheme/'.$filename.'.pdf');
for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
    // add a page
    $pdf->AddPage($specs['h'] > $specs['w'] ? 'P' : 'L', 'Letter');
    // add the background
    $pdf->useTemplate($backId);
    // import the content page
    $pageId = $pdf->importPage($pageNo);
    // add it
    $pdf->useTemplate($pageId);

    $pdf->ImageSVG($file='images/EN-Logo.svg', $x=30, $y=100, $w='', $h=100, $link='', $align='', $palign='', $border=0, $fitonpage=false);
}

$pdf->Output($filename.'2.pdf', 'F');

Ошибка, которую я получаю: ImageSVG не является методом библиотеки FPDI.

Я знаю, что этот метод является частью библиотеки TCPDF, которую я уже включил (7-я строка текста). Кто-нибудь хочет помочь?


person LatentDenis    schedule 25.04.2016    source источник


Ответы (1)


Удалите оператор require для FPDF require('fpdf.php');. Таким образом, FPDI будет расширять TCPDF вместо FPDF.

Вы также можете удалить константы. Если вы используете TCPDF, вам не нужна константа FPDF. Кроме того, FPDI_FONTPATH он никогда не использовался и не документировался вообще и в любом случае полезен.

person Jan Slabon    schedule 26.04.2016