HTMLフォームの入力とアップロードされたファイルに基づいて、smartyテンプレートを使用してphpページを生成しています。dompdf を使用して、生成されたページを pdf ファイルとして保存したいと考えています。
ユーザーが multipart/form-data を送信すると、データが自分自身にポストされます。その後、検証プロセスが実行されます。問題がなければ、テンプレート ファイルを使用して新しいページが生成されます。出力はありません。代わりに、dompdf はテンプレート ファイルを使用して pdf ファイルをストリーミングします。「DOMPDFが見つかりません」、メモリ不足などの問題のいくつかの段階を解決した後、「PDFをストリーミングできません:ヘッダーは既に送信されました」というエラーが発生しました。
最も一般的な問題の 1 つは、stream() が呼び出される前に改行、空白、または出力が存在することです。<?php と >? の前後の空白をチェックしました。
print_f または echo ステートメントもありません。この問題のトラブルシューティング方法を教えてください。smarty テンプレート ファイルまたは php ファイル自体のどこに問題があるのでしょうか。コードは次のとおりです。
require_once("dompdf/dompdf_config.inc.php");
spl_autoload_register('DOMPDF_autoload');
$html = $smarty->fetch('index.tpl');
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper('a4', 'portrait');
$dompdf->render();
$dompdf->stream("newfile.pdf");