PHPWord 打印 快递单/合同
2021-07-16 17:05
标签:打印 好的 value file image 教程 ref else 内容 打印快递单有个特点: 被打印纸的背景是固定的, 你只能 在合适的位置输入快递单的内容,操作步骤如下: 1、制作 word 模板 参考文章 “图解如何用打印机套打快递单” 2、在 模板 中放置“占位符” 打开上面定制好的模板,在 文本输入框 中输入 占位符 文本,如: 用户名:${UserName} 身份证:${IDNo} 效果图如下:【注意:打印的时候,需要把背景图删除!】 这些占位符定义规则,是根据 PHPWord 库定义的,官方教程: http://phpword.readthedocs.io/en/latest/templates-processing.html?highlight=replace 利用 PHPWord 库,可用动态地 修改替换占位符的内容,参考代码如下: PHPWord 打印 快递单/合同 标签:打印 好的 value file image 教程 ref else 内容 原文地址:http://www.cnblogs.com/phpgo/p/7068366.htmluse common\library\PhpWord\Settings;
use common\library\PhpWord\TemplateProcessor;
public function test() {
// 模板文件
$tplFile = DATA_PATH . ‘/contract/template_1.docx‘;
// 输出 word 文件名
$fileName = ‘phpgo的购卡合同.docx‘;
// 实例化 模板器
Settings::setOutputEscapingEnabled(true);
$templateProcessor = new TemplateProcessor($tplFile);
// 替换 关键字
$templateProcessor->setValue(‘UserName‘, ‘刘德花22‘);
$templateProcessor->setValue(‘IDNo‘, ‘362422199607020812‘);
$templateProcessor->setValue(‘Sex‘, ‘女‘);
// 自动输出下载 word 文件
$tempFileName = $templateProcessor->save();
$docxData = file_read($tempFileName);
unlink($tempFileName);
ob_start();
header("Cache-Control: public");
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
if (strpos($_SERVER["HTTP_USER_AGENT"], ‘MSIE‘)) {
header(‘Content-Disposition: attachment; filename=‘ . $fileName);
} else if (strpos($_SERVER["HTTP_USER_AGENT"], ‘Firefox‘)) {
header(‘Content-Disposition: attachment; filename=‘ . $fileName);
} else {
header(‘Content-Disposition: attachment; filename=‘ . $fileName);
}
header("Pragma:no-cache");
header("Expires:0");
echo $docxData;
ob_end_flush();
}