当前位置: 首页 > news >正文

react调用打印机自定义样式

react-to-print 实现打印样式
qrcode.react 实现二维码

  // 订单小票打印样式const printRender = () => {return (<divclassName="printWrap"style={{position: 'absolute', bottom: '-19px', right: 50, left: '-9999999px', zIndex: -1}}><div ref={contentRef} className="Print">{printList.map((item: any, index: any) => {return (<divkey={index}style={{width: '70mm',height: `210mm`,}}className="print-area"><div className="text-[28px] font-border text-center mb-[5px]">#{item.serialNo}订单</div><div className="line"></div><div className="line mb-[5px]"></div><div className="mb-[5px] text-[15px]">存件码{item.storageCode}</div><div className="line mb-[5px]"></div><div className="mb-[5px]">备注:{item.remark}</div><div className="flex justify-between align-center mb-[5px]"><div className="w-[60%]">名称</div><div className="w-[20%] text-center">数量</div><div className="w-[20%]  text-right">金额</div></div><div className="line mb-[5px]"></div>{item?.orderProductList?.map((j, i) => {return (<div key={i}><div className="flex justify-between align-center mb-[5px]"><div className="w-[60%]">{j.productName}</div><div className="w-[20%] text-center">{j.quantity}</div><div className="w-[20%] text-right">{j.totalPrice}</div></div>{item.attribute && (<div className="flex justify-between align-center ml-[2em] mb-[5px]">属性 {j.attribute}</div>)}</div>);})}<div className="line mb-[5px]"></div><div className="flex justify-between align-center mb-[5px]"><div className="w-[60%]">商品合计</div><div className="w-[20%] text-center">{item.productQuantity}</div><div className="w-[20%] text-right">{item.orderAmount}</div></div><div className="line mb-[5px]"></div>{item.couponRuleExplanation && (<div className="flex justify-between align-center mb-[5px]"><div>{item.couponRuleExplanation}</div><div>-{item.discountAmount || 0}</div></div>)}<div className="line mb-[5px]"></div><div className="flex justify-between align-center mb-[5px]"><div>客户姓名</div><div>{maskName(item.studentName)}</div></div><div className="flex justify-between align-center mb-[5px]"><div>联系电话</div><div>{maskPhone(item.paymentAccount)}</div></div><div className="flex justify-between align-center mb-[5px]"><div className="mr-[5px]">送货地址</div><div className="flex-1 text-right">{item.deliveryAddress}</div></div><div className="QRCode text-center mb-[5px]"><div className="QRCodeBox"><QRCode value={item.storageCode} size={120} id="qrCode" /></div><div className="QRCodeDes text-center">对准云校柜扫描枪存件</div></div><div className="flex justify-between align-center mb-[5px]"><div>客服热线</div><div>4000967111</div></div><div className="line mb-[5px]"></div><div className="mb-[5px]">订单号:{item.orderNo}</div><div>下单时间:{moment(item.createdAt).format('YYYY年MM月DD HH:mm:ss')}</div><div style={{height: '15mm'}}></div><div>.</div></div>);})}</div></div>);};
import QRCode from 'qrcode.react';
import {useReactToPrint} from 'react-to-print';  
const contentRef = useRef<HTMLDivElement>(null); const reactToPrintFn = useReactToPrint({contentRef,removeAfterPrint: true,pageStyle: `@page { size: 70mm 210mm`,});
// 调用:    reactToPrintFn();

效果预览

http://www.lqws.cn/news/604513.html

相关文章:

  • mysql语句练习
  • [CS创世SD NAND征文] 精准控制的坚固基石:CS创世SD NAND在华大HC32F4A0运动控制卡中的高可靠应用
  • React 学习(2)
  • Linux下MinIO分布式安装部署
  • 大语言模型随意猜测网址引发网络安全危机
  • 深入理解装饰器模式:动态扩展对象功能的灵活设计模式
  • 软考高项一次过,个人经验总结
  • Docker:容器化技术的基石与实践指南
  • 【字节跳动】数据挖掘面试题0003:有一个文件,每一行是一个数字,如何用 MapReduce 进行排序和求每个用户每个页面停留时间
  • MinHook 如何对 .NET 母体 CoreCLR 进行拦截
  • 【Unity】MiniGame编辑器小游戏(九)打砖块【Breakout】
  • 深入解析外观模式(Facade Pattern):简化复杂系统的优雅设计
  • Cursor推出全平台AI编程代理,Ultra订阅200美元/月,支持跨设备多任务
  • 123页满分PPT | 华为流程体系建设与运营华为数字化转型流程解决方案及建设案例
  • mars3d (基于 Cesium 的轻量化三维地图库)
  • 老版本 dubbo 泛化调用
  • MiniMind(2)模型架构
  • Java学习第五部分——API部分
  • docker离线/在线环境下安装elasticsearch
  • 多云密钥统一管理实战:CKMS对接阿里云/华为云密钥服务
  • Gin 框架中的优雅退出
  • 智慧赋能高压并网:分布式光伏监控系统在5.88MW物流园项目的实践解析
  • gin如何返回html
  • php安装完毕后没有php-fpm服务
  • 跨平台开发的抉择:Flutter vs 原生安卓(Kotlin)的优劣对比与选型建议​​
  • 【第三章:神经网络原理详解与Pytorch入门】01.神经网络算法理论详解与实践-(1)神经网络预备知识(线性代数、微积分、概率等)
  • 回顾JAVA中的锁机制
  • iOS重构期调试实战:架构升级中的性能与数据保障策略
  • Java的SpringAI+Deepseek大模型实战-会话记忆【三】
  • Kotlin Data包含ByteArray类型