javascript打印发票

发票自动识别功能前端开发(多表单动态生成) 多发票识别功能 阅读详情

几个月前,公司的某一个项目需要连接到打印机打印订单发票,利用javascript的window.print()调用打印页面进行打印。随着时间的推移,客户那边每次打印发票都需要手动进行切割。一个订单的发票分为客户端和商家端,如果提交两个订单,那就需要打印四张发票,现在出现的问题是所有的发票都打印在一张发票上面,需要用户每次去手动撕下来。网上说用page-break-after: always,但是这个只对切好的纸张有用,对于连续需要切割的纸张无用…心塞

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript">
	//打印代码  
	function Print() {
		var printStr = "<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'></head><body >";
		var content = "";
		var str = document.getElementById('page1').innerHTML; //获取需要打印的页面元素 ,page1元素设置样式page-break-after:always,意思是从下一行开始分割。	
		content = content + str;
		str = document.getElementById('page2').innerHTML; //获取需要打印的页面元素		
		content = content + str;
		printStr = printStr + content + "</body></html>";
		var pwin = window.open("Print.htm", "print"); //如果是本地测试,需要先新建Print.htm,如果是在域中使用,则不需要 
		pwin.document.write(printStr);
		pwin.document.close(); //这句很重要,没有就无法实现 
		pwin.print();
	}
</script>
</head>
<body>
	<div>
		<input type="button" value="打印" onclick="Print()" />
	</div>
	<div id="page1">
		<table width="100%" border="0" cellpadding="0" cellspacing="0"
			style="page-break-after: always">
			<tr>
				<td>第一页打印内容</td>
			</tr>
		</table>
	</div>
	<div id="page2">
		<table width="100%" border="0" cellpadding="0" cellspacing="0"
			id="content">
			<tr>
				<td>第二页打印内容</td>
			</tr>
		</table>
	</div>
</body>
</html>

如何生成发票 在很多服务于实体店消费结账的系统中往往都伴随在发票的存在,所以如何生成发票这一技术就显得尤为重要了,现在我就和大家分享在我做的酒店系统中是如何生成发票的, 首先我们第一步要做的是:将打印发票的button按钮给做出来,然后再通过这一按钮去调用打印发票的模态框, 下图的代码是当你点击打印发票按钮的时候就将打印发票整个模态框给显示出来 下图中的代码是模态框中发票的一个模板,当然你也可以根据自己的个人需求来制作你的发票模板,在模态框中有一个生成图片的按钮,这个按钮中有一个单击方法,这个.. 阅读详情

相关推荐

WPS大会员AI写PPT与发票打印系统:提升办公效率实战指南

办公自动化是现代企业提升效率的核心技术,其原理在于通过软件工具替代重复性人工操作。在文档处理领域,AI技术能够基于大语言模型实现智能内容生成,而模板化系统则通过数据绑定和批量处理减少人工干预。这些技术的价值在于显著降低时间成本、减少错误率,并支持标准化输出。应用场景广泛覆盖工作总结、财务报销、项目汇报等日常办公需求。以WPS大会员为例,其集成的AI写PPT功能能够快速生成专业演示文稿,而打印发票系统则实现了从数据导入到批量打印的全流程管理。通过结合AI内容生成和模板化打印技术,用户可以在处理销售数据总结和增

weixin_33857679的博客 558

js调用打印机打印多联单,部分打印,执行打印事件后调用程序

运用js调用打印机,打印多联单 一、打印机部分打印

qq_Yq的博客 3024

掌握Node.js开发:从安装到第一个项目

本文从Node.js的基础知识讲起,介绍了如何搭建Node.js开发环境,包括安装Chrome浏览器、选择代码编辑器Visual Studio Code,以及安装Node.js本身。接着,作者详细指导了如何创建并运行一个简单的Node.js服务器应用,展示客户端-服务器通信的基本实现。

weixin_34885746的博客 340

web系统中使用js调用activex打印费用报销单

此单据以凭证纸大小打印 var printer = new ActiveXObject("TPrint.mPrinter"); 打印之前需要选择打印机js调用 function selp(){ printer.SelectPrinter(); } 打印单据格式及数据 function doprint(){ //开始单据打印 if(pri...

iteye_11550的博客 372

js-invoice-generator:疯狂JavaScript发票生成器(包括ReactJS,PhantomJS和NodeJS)

开始 $ npm install $ node run.js 重要说明:您应该安装 (请参阅: run.js:7 )。 预习 发票设计但已使用和完全重写。

Windows/Linux双平台实战:QtCreator构建套件配置全攻略(含GCC/G++/GDB/CMake)

本文详细介绍了在Windows和Linux双平台下配置QtCreator构建套件的完整流程,涵盖GCC/G++、GDB和CMake等核心工具链的设置技巧。通过分步指导和实用示例,帮助开发者解决跨平台开发中的配置难题,提升Qt应用开发效率。特别针对QtCreator新手和需要在多平台切换的开发者提供了全面的配置指南。

weixin_28836507的博客 470

发票模板,纯css+html

发票 <div class="invoicMain"> <div class="invoiceHeader"> <ul class="headerLeft"> <li> <img src="./qrcode.png" alt=""> ...

qq_37398519的博客 8813

基于Android Studio的校园智能点餐系统开发实战(附完整源码与部署指南)

本文详细介绍了基于Android Studio开发校园智能点餐系统的完整流程,包括需求分析、环境搭建、数据库设计、客户端与后台功能实现。系统采用SSM框架和MySQL数据库,解决了校园食堂高峰期排队问题,提供高效的点餐体验。附完整源码与部署指南,助力开发者快速构建类似应用。

weixin_29015801的博客 558

js调用打印机实现打印发票

1.jsp页面,前提自己电脑上面要连接有打印机才行 &lt;title&gt;缴费凭证&lt;/title&gt; &lt;/head&gt; &lt;script src="js/jquery-1.7.2.min.js"&gt;&lt;/script&gt; &lt;body&gt; &lt;!--startprint   车位--&gt; &lt;div id=&

hexu_blog的博客 8507

稳健自适应波束形成学习(2):自适应计算对角加载量方法——基于广义线性组合的鲁棒Capon波束形成

对于快拍数相对阵元数较小时,样本协方差矩阵不能很好对协方差矩阵进行估计。常规的对角加载量需要根据经验值或不断手动调整进行测试,没有一个明确的准则和推导。该篇介绍一种自适应计算对角加载量的方法,且能适应快拍数相对阵元数较小时的情况。均匀线阵阵元数:18;载波频率30MHz;通信信号来波方向0°、来波估计偏差0.5°;干扰来波方向30°;通信信号信噪比10dB;干扰信号信噪比60dB。也即在干扰角度生成66dB的零陷,通信信号受到16dB的衰减。

a1uajug的博客 824

ServiceNow Discovery & CMDB Interview Questions and Answers (2025)

【代码】ServiceNow Discovery & CMDB Interview Questions and Answers (2025)

weixin_47584092的博客 910

js 处理打印发票自动分页(包含表头等每页固定元素处理)

利用css 样式page-break-before处理打印分页

o_oppp的博客 470

别再只用跳层连接了!手把手教你用DASI和MDCR模块提升红外小目标检测精度

本文详细介绍了如何利用DASI和MDCR模块提升红外小目标检测精度。通过分析传统跳层连接的缺陷,提出维度感知的特征选择性融合(DASI)和多尺度感受野精炼器(MDCR)的创新方案,显著提升小目标检测性能。实验证明,该方法在多个场景下AP@0.5提升达15.4%,特别适用于安防监控和遥感图像分析。

weixin_28715081的博客 224

让你轻松的掌握发票套打印

使用lodop和C-Lodop实现发票的免费套打印摘要1 下载2 代码 摘要 日常生活中我们经常会遇到一些打印发票的情况,但是简单的打印发票这个功能是如何实现的呢,这里我们可以用一个插件叫做clodop。 1 下载 插件的链接:https://u20538204.pipipan.com/fs/20538204-382818630 js和样例的下载链接 :https://u20538204.pip......

dongbeihuxiao的博客 816

操作系统权限提升(十五)之绕过UAC提权-基于白名单DLL劫持绕过UAC提权

先将操作在本地执行,使用procmon进行监控,过滤DLL和 NAME NOT FOUND ,寻找可以替换的DLL文件,注意文件的权限是否可以在目录写入,可以看到在C盘的tools目录的文件中有一个srrstr.dll被调用,但是没有加载,我们生成恶意的DLL文件看看是否可以被劫持。在Windows中许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库文件,即dll文件,放置于系统中,个人理解类似于我们编程中引入的模块。将我们生成的DLL文件改名为我们要劫持的DLL文件名。

把自己活成一道光,因为你不知道,谁会借着你的光,走出了黑暗。请保持心中的善良,因为你不知道,谁会借着你的善良,走出了绝望。请保持你心中的信仰,因为你不知道,谁会借着你的信仰,走出了迷茫。请相信自己的力量,因为你不知道,谁会因为相信你,开始相信了自己.... 1873

Open3D(C++) 点云构建三维Delaunay三角剖分

C++版本的Open3D实现从点云构建三维Delaunay,可视化效果。

点云侠的博客 2247

vba 在代码窗口里不能正常显示的双字节字符的转换

在用vba编写打印发票的小程序时,发现①~⑩ ⑴~⒇ ⒈~⒛ 等序号显示没问题,而⒜~⒵ Ⓐ~Ⓩ ⓐ~ⓩ ⓪ ⓫~⓴ ⓵~⓾等字符在代码编辑器里是显示不出来的,显示一个? 刚开始把字符藏在sheet的某个单元格里到要用时再去取,后来在网上找到一个uniCode双字节字符转字符串的函数非常好用,分享如下: Function strUnicode(s As String) As String With CreateObject("MSScriptControl.ScriptControl")

汉阳Hann's Home 2619

UG NX二次开发(C#)-读取PMI对象的名称

摘要:本文介绍了在UG NX中通过NXOpen获取PMI对象名称的方法。首先说明PMI对象初始无名称,可通过重命名或属性设置名称。然后提供C#代码示例,展示如何遍历PMI集合获取对象名称,并显示名称和类型信息。适用于需要操作PMI对象的开发人员,欢迎加入技术交流QQ群749492565。(99字)

GimiGimmy 589

Print.js终极指南:10分钟快速掌握网页打印神器

想要在网页中实现专业级的打印功能吗?Print.js正是你需要的解决方案!这个轻量级JavaScript库专为简化网页打印而生,让你能够快速打印PDF文件、HTML内容、JSON数据和图片,无需复杂的配置和代码。 ## 🚀 为什么选择Print.js? Print.js解决了传统浏览器打印功能的诸多痛点。相比原生打印,它提供了更丰富的功能和更友好的用户体验: - **支持多种格式**:PD

gitblog_00979的博客 810

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

jsp实现套打(发票打印)

jsp普通打印很简单,有很多方式,可以用window.print()这种自带的方法,也可以用组件webBrowser,还可以用ScriptX这样的第三方组件来实现。这样的打印都是打印默认的A4,如果碰到到发票的打印要怎么实现呢?     首先,我们要明白,实现网页套打,还是用我们现有的方法去实现。     其次,要知道发票的使用的纸张是不一样的,首先它用的是复写纸,要实现复写纸的打印,必须要用

廖世勇 3801

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

原生JS打印插件之jQuery.EasyPrint.js:一键实现Web打印功能

原生JS打印插件之jQuery.EasyPrint.js:一键实现Web打印功能 去发现同类优质开源项目:https://gitcode.com/ 在现代Web开发中,打印功能一直是开发者需要面对的需求之一。原生JS打印插件之jQuery.EasyPrint.js,以其出色的性能和简便的集成方式,成为实现这一功能的不二选择。以下是对该项目的详细介绍。 项目介绍 原生JS打印插件之jQuery.Ea...

gitblog_06732的博客 388

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

从‘打印发票’到‘打印报表’:一个前端er的打印功能踩坑实录与最佳实践总结

本文详细记录了前端开发者在Vue项目中实现打印功能的完整历程,从发票打印到复杂报表打印的实战经验。重点分析了vue-print-nb插件的使用与踩坑,包括打印内容截断、样式丢失等问题解决方案,并分享了原生打印方案的深度优化技巧,如分页控制、表格跨页处理等,帮助开发者高效实现企业级打印需求。

weixin_28691003的博客 89

【亲测免费】 推荐开源项目:Node.js printing - 打印PDF与图像的利器

推荐开源项目:Node.js printing - 打印PDF与图像的利器 在数字化办公和自动化生产流程中,打印功能扮演着至关重要的角色。今天,我们向您隆重推荐一个专为Node.js和Electron设计的实用工具 —— Node.js printing。这款强大的库让从JavaScript环境中直接打印PDF文件和图像变得轻而易举,特别是在Windows平台下,其对于标签打印机如Rollo和Ze...

gitblog_00863的博客 886

【JS】window.print打印指定内容

有时候网页用到打印但是不想打印所有内容,就需要只打印指定内容,下面简单演示下如何打印指定内容 1、在需要打印的指定内容的头部前面加“<!--startprint-->”,在尾部后面加上“<!--endprint-->” <!--startprint--> <div> 需要打印的内容 </div>...

weixin_30532837的博客 196

打印功能

1.首先做好一个模板,想打印图片的话下载一个图片模板,打印表格的话直接建一个表格。然后在word里面打开。保存为PDF格式,然后下载Adobe Acrobat DC,没有的话在我的第一个链接可以直接下载。 2下载以后把PDF打开,点击准备表单。如果是表格的话,在空的表格里面会自动生成打印是要加入数据的框;图片只会生成一个,可以复制粘贴。框可以自己移动、调大小。 (注意:如上方法里面插...

weixin_30558305的博客 167

Node.js ESC/POS 打印机驱动终极指南:从零到精通的完整教程

Node.js ESC/POS 打印机驱动是一个功能强大的工具库,专为在 Node.js 环境下控制 ESC/POS 打印机而设计。它支持多种连接方式,包括 USB、网络、蓝牙和串口,能够轻松实现文本打印、条形码生成、二维码打印等功能,是开发 POS 系统、票据打印应用的理想选择。 ## 为什么选择 Node.js ESC/POS 打印机驱动? Node.js ESC/POS 打印机驱动(no

gitblog_00314的博客 505
上一篇: javax.mail.AuthenticationFailedException: failed to connect, no password specified?
下一篇: SVN报Previous operation has not finished; run 'cleanup' if it was interrupted
CZ__
博客等级 码龄9年 97粉丝 114原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值