0

少し奇妙なことをするためにdompdfを最適化しようとしています。私のサーバー上にあるので、dompdfはサーバー上のどこかに保存されているphp / htmlファイルからpdfファイル(ファイルを要求しているクライアント用)を生成しています。これは、サーバーをpdfファイルで停止させないので便利ですが、私が抱えている問題は、誰かがPDFのグループをエクスポートして、zipファイルなどで受信できるようにしたいということです。

dompdfにphp/htmlファイルのファイル名に基づいたPDFファイルのグループをzipファイルなどにエクスポートさせて、要求者がダウンロードできるようにする方法はありますか?

さらに情報が必要な場合はお知らせください。

ありがとうございました!!

4

1 に答える 1

1

DOMPDF は、一度に 1 つのファイルのみを処理します。しかし、PHP スクリプトを作成してファイルのリストを受け取り、DOMPDF を使用して各ファイルを個別に解析することもできます。DOMPDF はレンダリングされた PDF を文字列として返すことができるため、各ファイルを一時ディレクトリに書き出し、完了したら結果をアーカイブすることができます。または、dompdf.php を使用している場合は、exec() を使用して、同様のループで各 HTML ドキュメントを処理できます。

これは、あなたが望むことを行う1つの方法を示す簡単な例です:

$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 を使用してファイルをバッチ処理する方法については、フォーラム課題トラッカーで議論されています。

于 2011-06-20T18:04:11.670 に答える