DOMPDF 一次只处理一个文件。但是您可以编写一个 PHP 脚本来接受文件列表,然后使用 DOMPDF 分别解析每个文件。由于 DOMPDF 可以将呈现的 PDF 作为字符串返回,因此您可以将每个文件写入临时目录,然后在完成后将结果存档。或者,如果您使用的是 dompdf.php,您可以使用 exec() 在类似的循环中处理每个 HTML 文档。
这是一个简单的示例,展示了一种方法来做你想做的事:
$files_html = array('docs/file1.html','docs/file2.html');
foreach ($files_html as $file) {
exec('dompdf.php ' . $file);
}
$zip = new ZipArchive();
$zip->open('docs/pdfs.zip', ZipArchive::CREATE);
$files_pdf = glob('docs/*.pdf');
foreach ($files_pdf as $file) {
$zip->addFile($file);
}
$zip->close();
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=pdfs.zip);
header('Content-Transfer-Encoding: binary');
readfile('docs/pdfs.zip');
论坛和问题跟踪器中有一些关于使用 DOMPDF 批处理文件的讨论。