如何使用 FPDI 和 TCPDF 实现 ImageSVG() 渲染 PDF?
How to implement ImageSVG() using FPDI and TCPDF to render PDF?
我正在使用 FPDI 渲染一个 PDF,该 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 行)。有人愿意帮忙吗?
删除 FPDF 的 require 语句 require('fpdf.php');
。这样 FDI 将扩展 TCPDF 而不是 FPDF。
您也可以删除常量。如果您使用 TCPDF,则不需要 FPDF 常量。此外 FPDI_FONTPATH
它从未使用过,也从未记录在案,在任何情况下都可以使用。
我正在使用 FPDI 渲染一个 PDF,该 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 行)。有人愿意帮忙吗?
删除 FPDF 的 require 语句 require('fpdf.php');
。这样 FDI 将扩展 TCPDF 而不是 FPDF。
您也可以删除常量。如果您使用 TCPDF,则不需要 FPDF 常量。此外 FPDI_FONTPATH
它从未使用过,也从未记录在案,在任何情况下都可以使用。