zoukankan      html  css  js  c++  java
  • PHPWord 打印 快递单/合同

    打印快递单有个特点:

    被打印纸的背景是固定的,

    你只能 在合适的位置输入快递单的内容,操作步骤如下:

    1、制作 word 模板

    参考文章 “图解如何用打印机套打快递单

    2、在 模板 中放置“占位符”

    打开上面定制好的模板,在 文本输入框 中输入 占位符 文本,如:

    用户名:${UserName}

    身份证:${IDNo}

    效果图如下:注意:打印的时候,需要把背景图删除!

     

    这些占位符定义规则,是根据 PHPWord 库定义的,官方教程:

    http://phpword.readthedocs.io/en/latest/templates-processing.html?highlight=replace

    利用 PHPWord 库,可用动态地 修改替换占位符的内容,参考代码如下:

    use commonlibraryPhpWordSettings;
    use commonlibraryPhpWordTemplateProcessor;
    
    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();
    }
  • 相关阅读:
    流程图
    如何撰写简历
    产品经理-visio
    关于 EF 对象的创建问题
    LINQ To EF
    IQueryable 与 IEnumberable 接口的区别
    UWP自动填充控件AutoSuggestBox小优化
    xamarin UWP证书问题汇总
    xamarin UWP中MessageDialog与ContentDialog的区别
    xamarin UWP自定义圆角按钮
  • 原文地址:https://www.cnblogs.com/52php/p/7068366.html
Copyright © 2011-2022 走看看