使 PHPWord 模板生成的文档自动下载而不是保存在本地
Make PHPWord template-generated document auto-downloaded instead of saved locally
PHPWord 有一个很好的模板示例,但我检查了它的代码并将文件保存在本地(取自 ../Examples/Template.php
):
$document = $PHPWord->loadTemplate('Template.docx');
...
$document->save('Solarsystem.docx');
与使用具有自动下载选项的 createWriter
方法相比:
$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');
$objWriter->save('php://output');
模板可以自动下载吗? (参见 PHPWord/Template.php::save
)
我不希望将其保存在本地,以便在自动下载选项可用时删除创建垃圾回收的任务。
我已经使用 PHPWord 的示例 Sample_23_TemplateBlock.php
测试了这个解决方案并且它有效:
// Add HTTP headers to force user's browser save document
// instead of opening it like an HTML page
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename=template.docx");
// $templateProcessor->saveAs('results/Sample_23_TemplateBlock.docx');
$templateProcessor->saveAs('php://output');
PHPWord 有一个很好的模板示例,但我检查了它的代码并将文件保存在本地(取自 ../Examples/Template.php
):
$document = $PHPWord->loadTemplate('Template.docx');
...
$document->save('Solarsystem.docx');
与使用具有自动下载选项的 createWriter
方法相比:
$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');
$objWriter->save('php://output');
模板可以自动下载吗? (参见 PHPWord/Template.php::save
)
我不希望将其保存在本地,以便在自动下载选项可用时删除创建垃圾回收的任务。
我已经使用 PHPWord 的示例 Sample_23_TemplateBlock.php
测试了这个解决方案并且它有效:
// Add HTTP headers to force user's browser save document
// instead of opening it like an HTML page
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename=template.docx");
// $templateProcessor->saveAs('results/Sample_23_TemplateBlock.docx');
$templateProcessor->saveAs('php://output');