我想使用 html2pdf 為我的資料庫中的每個樣本生成多個 PDF 檔案。我實際上有不同的表,其中包含帶有 idsample 的運行名稱。第 12 個字符是運行名稱,最后 8 個字符是 idsample,例如:
run0112201728S52PRO
run011220178FS22LEJ
對于所有這些表,我想要每個 idsample 一份 pdf 報告。我設法創建了pdf,但它們都在同一個pdf中,而不是都在一個不同的pdf中。我在回圈中包含了 pdf 生成部分。知道怎么做嗎?這就是我所做的。
<?php
// convert
//require_once('html2pdf.class.php');
require_once dirname(__FILE__).'/vendor/autoload.php';
use Spipu\Html2Pdf\Html2Pdf;
use Spipu\Html2Pdf\Exception\Html2PdfException;
use Spipu\Html2Pdf\Exception\ExceptionFormatter;
ob_start();
$tablename='run01122017'; //the name of the table
//GET idsample that we gonna cut from the result_array
$query2 = "select DISTINCT SUBSTRING(TABLE_NAME,12,8) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME like 'run01122017%'";
$result2 = mysqli_query($conn,$query2) or die ("no query");
while($row2 = mysqli_fetch_assoc($result2))
{
$idEcht_array[] = $row2;
}
//Query to pick up Idpat
$FetchIdPat="SELECT Firstname, Lastname FROM PAT WHERE idEcht='".implode(",",$idEcht_array[$i])."'";
$PerformIdPAT=mysqli_query($conn,$FetchIdPat) or die(mysqli_error($conn));
while($rowIDPat = mysqli_fetch_assoc($PerformIdPAT)) { ?>
Patid: <b><?php echo $rowIDPat["Lastname"]." ".$rowIDPat["Firstname"];?>
//}
//Generate PDF report
$content = ob_get_clean();
try
{
$html2pdf = new Html2Pdf('P', 'A4', 'fr');
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
ob_end_clean();
//$html2pdf->Output($tablename.'pdf');
$html2pdf->Output($tablename.'-'.implode(", ", $idEcht_array[$i]).'-Report.pdf');
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}}
?>
uj5u.com熱心網友回復:
請把 ob_start(); 和 $content = ob_get_clean(); 在 while 回圈內適當地使用變數 $index 來更改檔案名
因此,根據您的原始代碼,修改后的代碼是:
<?php
require_once dirname(__FILE__).'/vendor/autoload.php';
use Spipu\Html2Pdf\Html2Pdf;
use Spipu\Html2Pdf\Exception\Html2PdfException;
use Spipu\Html2Pdf\Exception\ExceptionFormatter;
$tablename='run01122017'; //the name of the table
//GET idsample that we gonna cut from the result_array
$query2 = "select DISTINCT SUBSTRING(TABLE_NAME,12,8) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME like 'run01122017%'";
$result2 = mysqli_query($conn,$query2) or die ("no query");
while($row2 = mysqli_fetch_assoc($result2)){
$idEcht_array[] = $row2;
}
//Query to pick up Idpat
$FetchIdPat="SELECT Firstname, Lastname FROM PAT WHERE idEcht='".implode(",",$idEcht_array[$i])."'";
$PerformIdPAT=mysqli_query($conn,$FetchIdPat) or die(mysqli_error($conn));
$index=1;
while($rowIDPat = mysqli_fetch_assoc($PerformIdPAT)) {
ob_start();
?>
Patid: <b><?php echo $rowIDPat["Lastname"]." ".$rowIDPat["Firstname"];?>
<?php
$content = ob_get_clean();
try
{
$html2pdf = new Html2Pdf('P', 'A4', 'fr');
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
//ob_end_clean();
//$html2pdf->Output($tablename.'pdf');
$html2pdf->Output($tablename.'-'. $index . '-Report.pdf');
unset($html2pdf);
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}
$index ;
}
?>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/513769.html
上一篇:舊站點的PDFURL未重定向到新站點中的PDF位置-RegEx
下一篇:從CAG下載PDF
