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');
裏有forum和issue tracker使用DOMPDF來批量處理文件的一些討論。
dompdf允許將PDF輸出爲二進制數據。然後,您可以將其添加到zip中並重復此操作,直到處理完所有文件組。 – hakre 2011-06-16 21:45:00
你可以在迭代中導出文件,然後將它們壓縮? – 2011-06-16 21:45:33
據我所知,dompdf不做任何導出,它只是當場將文件轉換爲PDF ......我不想壓縮html文件。 – 2011-06-16 22:03:12