我从 dompdf 生成了多个 pdf,但如何在本地保存这些文件
I generated the multiple pdf from dompdf but how can I save these files locally
我从 dompdf 生成了多个 pdf,但我如何在本地保存这些文件,因为这些文件只能在网络浏览器中打开。如何将它们保存到服务器中?
我的代码
include '../../libs/vendor/autoload.php';
include '../../libs/dompdf/autoload.inc.php';
use Dompdf\Dompdf;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
if (isset($_POST['submit'])) {
if (isset($_FILES['challan']['tmp_name'])) {
$challan = $_FILES['challan']['tmp_name'];
$spreadsheet = $reader->load($challan);
$sheetData = $spreadsheet->getActiveSheet()->toArray();
if (!empty($sheetData)) {
$html = ob_get_clean();
$html = stripslashes($html);
$html = <<<HTML
<html>
<head>
<style type="text/css">
/* Your document styling goes here */
</style>
</head>
<body>
HTML;
for ($i=0; $i<count($sheetData); $i++) {
$name = $sheetData[$i][0];
$fatherName = $sheetData[$i][1];
$rollNo = $sheetData[$i][2];
$class = $sheetData[$i][3];
$dept = $sheetData[$i][4];
$dompdf = new DOMPDF();
$html .= '<p>Hello World</p>';
$dompdf->load_html($html);
$dompdf->render();
file_put_contents('pdf', $dompdf->output());
$dompdf->stream();
}
}
}
}
我又更新了代码,请看一下
您可以使用方法 output()
to get the PDF content and save into a file using file_get_contents()
:
file_put_contents('/path/to/file.pdf', $dompdf->output());
编辑 问题更改后:
for ($i=0; $i<count($sheetData); $i++)
{
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
file_put_contents('pdf' . $i . '.pdf', $dompdf->output());
$dompdf->stream();
}
但是生成N次,同一个PDF好像很奇怪
我从 dompdf 生成了多个 pdf,但我如何在本地保存这些文件,因为这些文件只能在网络浏览器中打开。如何将它们保存到服务器中?
我的代码
include '../../libs/vendor/autoload.php';
include '../../libs/dompdf/autoload.inc.php';
use Dompdf\Dompdf;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
if (isset($_POST['submit'])) {
if (isset($_FILES['challan']['tmp_name'])) {
$challan = $_FILES['challan']['tmp_name'];
$spreadsheet = $reader->load($challan);
$sheetData = $spreadsheet->getActiveSheet()->toArray();
if (!empty($sheetData)) {
$html = ob_get_clean();
$html = stripslashes($html);
$html = <<<HTML
<html>
<head>
<style type="text/css">
/* Your document styling goes here */
</style>
</head>
<body>
HTML;
for ($i=0; $i<count($sheetData); $i++) {
$name = $sheetData[$i][0];
$fatherName = $sheetData[$i][1];
$rollNo = $sheetData[$i][2];
$class = $sheetData[$i][3];
$dept = $sheetData[$i][4];
$dompdf = new DOMPDF();
$html .= '<p>Hello World</p>';
$dompdf->load_html($html);
$dompdf->render();
file_put_contents('pdf', $dompdf->output());
$dompdf->stream();
}
}
}
}
我又更新了代码,请看一下
您可以使用方法 output()
to get the PDF content and save into a file using file_get_contents()
:
file_put_contents('/path/to/file.pdf', $dompdf->output());
编辑 问题更改后:
for ($i=0; $i<count($sheetData); $i++)
{
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
file_put_contents('pdf' . $i . '.pdf', $dompdf->output());
$dompdf->stream();
}
但是生成N次,同一个PDF好像很奇怪