如何使用 mpdf 创建多个 pdf 文件 API
How can create multiple pdf files using mpdf API
如何使用 mpdf 创建多个 pdf 文件 API。
当我尝试使用 mpdf 创建时,我收到类似
的错误消息
Fatal error: Cannot redeclare class mPDF
$sql1=mysql_query("SELECT * FROM $tbl_name");
while($row=mysql_fetch_array($sql1))
{
$Alert_date=$row['Alert_Mail_Date'];
$cart_body='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>New Order Placed</title>
</head>
<body>
<table width="550" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="400" align="left" valign="top">
<a style="font-size:16px"><strong>.$Alert_date.</strong></a><br />
</body>
</html>';
include("APIs/mpdf/mpdf.php");
// Define a new mPDF document using utf-8 fonts
$mpdf=new mPDF('utf-8');
$ran= rand(0,9999999);
//$mpdf = new mPDF('ta',array(210,297)); //array(210,297) --> A4 Size..
$mpdf->SetAutoFont(AUTOFONT_ALL,array(210,297));
$mpdf->WriteHTML($cart_body);
$filename="/opt/lampp/htdocs/Invoice/invoice_PDF/".$ran."test.pdf";
$mpdf->Output($filename,'F');
//$mpdf->Output();
}
您不断重新声明 mpdf。
而是在循环之前声明它。
include("APIs/mpdf/mpdf.php");
$sql1=mysql_query("SELECT * FROM $tbl_name");
while($row=mysql_fetch_array($sql1))
{
$Alert_date=$row['Alert_Mail_Date'];
$cart_body='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>New Order Placed</title>
</head>
<body>
<table width="550" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="400" align="left" valign="top">
<a style="font-size:16px"><strong>.$Alert_date.</strong></a><br />
</body>
</html>';
// Define a new mPDF document using utf-8 fonts
$mpdf=new mPDF('utf-8');
$ran= rand(0,9999999);
//$mpdf = new mPDF('ta',array(210,297)); //array(210,297) --> A4 Size..
$mpdf->SetAutoFont(AUTOFONT_ALL,array(210,297));
$mpdf->WriteHTML($cart_body);
$filename="/opt/lampp/htdocs/Invoice/invoice_PDF/".$ran."test.pdf";
$mpdf->Output($filename,'F');
//$mpdf->Output();
}
是的,您可以使用 mpdf 生成多个 pdf,您只需要将 pdf 生成代码放在一个循环中。发生 class 错误的重新声明,因为您必须在没有关闭前一个实例的情况下启动一个新实例。 $mpdf->Output
结束实例。尝试在该语句之后重新定义 class。
将 include("APIs/mpdf/mpdf.php");
保持在循环之外。
该错误仅表示您有一个 class 同名声明不止一次 。也许通过多个包含。
在循环之前使用你的 include
语句。
另请查看 include_once。下次它会救你的。
下面是生成多个 PDF 文件并将它们保存在某些文件中的代码directory.I使用睡眠和时间函数生成唯一的文件名,这样它将覆盖同名的现有文件。
<?php
$record = array('BMW','Mercedes','Toyota');
include_once("../lib/MPDF57/mpdf.php");
foreach($record as $value){
$filename = time().'Performance_review.pdf';
sleep(2);
$mpdf=new mPDF();
$mpdf->WriteHTML($value);
$get_pdf = $mpdf->Output('../pdf-output/'.$filename,'F');
}?>
如何使用 mpdf 创建多个 pdf 文件 API。
当我尝试使用 mpdf 创建时,我收到类似
的错误消息Fatal error: Cannot redeclare class mPDF
$sql1=mysql_query("SELECT * FROM $tbl_name");
while($row=mysql_fetch_array($sql1))
{
$Alert_date=$row['Alert_Mail_Date'];
$cart_body='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>New Order Placed</title>
</head>
<body>
<table width="550" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="400" align="left" valign="top">
<a style="font-size:16px"><strong>.$Alert_date.</strong></a><br />
</body>
</html>';
include("APIs/mpdf/mpdf.php");
// Define a new mPDF document using utf-8 fonts
$mpdf=new mPDF('utf-8');
$ran= rand(0,9999999);
//$mpdf = new mPDF('ta',array(210,297)); //array(210,297) --> A4 Size..
$mpdf->SetAutoFont(AUTOFONT_ALL,array(210,297));
$mpdf->WriteHTML($cart_body);
$filename="/opt/lampp/htdocs/Invoice/invoice_PDF/".$ran."test.pdf";
$mpdf->Output($filename,'F');
//$mpdf->Output();
}
您不断重新声明 mpdf。 而是在循环之前声明它。
include("APIs/mpdf/mpdf.php");
$sql1=mysql_query("SELECT * FROM $tbl_name");
while($row=mysql_fetch_array($sql1))
{
$Alert_date=$row['Alert_Mail_Date'];
$cart_body='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>New Order Placed</title>
</head>
<body>
<table width="550" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="400" align="left" valign="top">
<a style="font-size:16px"><strong>.$Alert_date.</strong></a><br />
</body>
</html>';
// Define a new mPDF document using utf-8 fonts
$mpdf=new mPDF('utf-8');
$ran= rand(0,9999999);
//$mpdf = new mPDF('ta',array(210,297)); //array(210,297) --> A4 Size..
$mpdf->SetAutoFont(AUTOFONT_ALL,array(210,297));
$mpdf->WriteHTML($cart_body);
$filename="/opt/lampp/htdocs/Invoice/invoice_PDF/".$ran."test.pdf";
$mpdf->Output($filename,'F');
//$mpdf->Output();
}
是的,您可以使用 mpdf 生成多个 pdf,您只需要将 pdf 生成代码放在一个循环中。发生 class 错误的重新声明,因为您必须在没有关闭前一个实例的情况下启动一个新实例。 $mpdf->Output
结束实例。尝试在该语句之后重新定义 class。
将 include("APIs/mpdf/mpdf.php");
保持在循环之外。
该错误仅表示您有一个 class 同名声明不止一次 。也许通过多个包含。
在循环之前使用你的 include
语句。
另请查看 include_once。下次它会救你的。
下面是生成多个 PDF 文件并将它们保存在某些文件中的代码directory.I使用睡眠和时间函数生成唯一的文件名,这样它将覆盖同名的现有文件。
<?php
$record = array('BMW','Mercedes','Toyota');
include_once("../lib/MPDF57/mpdf.php");
foreach($record as $value){
$filename = time().'Performance_review.pdf';
sleep(2);
$mpdf=new mPDF();
$mpdf->WriteHTML($value);
$get_pdf = $mpdf->Output('../pdf-output/'.$filename,'F');
}?>