java生成小票图片_超市/饭店等收据或者小票的生成代码

该代码示例展示了如何使用Java生成适用于80打印机的小票图片,包括设置字体、颜色、布局,以及添加订单信息、菜品列表和总价等元素。
摘要由CSDN通过智能技术生成

packagecom.chauvet.utils;importjava.awt.Color;importjava.awt.Font;importjava.awt.FontMetrics;importjava.awt.Graphics;importjava.awt.image.BufferedImage;importjava.io.BufferedOutputStream;importjava.io.File;importjava.io.FileOutputStream;importjava.text.DecimalFormat;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.HashMap;importjava.util.Map;importjava.util.Random;importjavax.swing.JLabel;importcom.sun.image.codec.jpeg.JPEGCodec;importcom.sun.image.codec.jpeg.JPEGImageEncoder;/***

* 生成 80打印机 图片

*@authorWXW

**/

public classCreateImage {public staticBufferedImage image;public staticString createImage(String fileLocation) {try{

FileOutputStream fos= newFileOutputStream(fileLocation);

BufferedOutputStream bos= newBufferedOutputStream(fos);

JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(bos);

encoder.encode(image);

bos.close();

}catch(Exception e) {

e.printStackTrace();

}returnfileLocation;

}/***

* 生成图片

*@parammap

* 菜品集合,可以为map或者list 根据情况修改

*@paramimgPath

* 生成的图片存放的路径

*@return* 此处返回的是生成的图片高度,因为掉打印接口的时候需要这个高度*/

public static int graphicsGeneration(Mapmap,String imgPath) {int x = 10;int y = 20;int marginY = 30;

Double price= 20.0;

createDir(imgPath.substring(0, imgPath.lastIndexOf("/")));//创建目录

Random ne=newRandom();

好的,以下是Java打印超市消费小票代码示例: ```java import java.text.SimpleDateFormat; import java.util.Date; public class PrintReceipt { public static void main(String[] args) { // 商品名称 String[] goods = {"可乐", "薯片", "饼干", "牛奶", "巧克力"}; // 商品单价 double[] prices = {3.50, 2.80, 4.20, 5.00, 7.50}; // 商品数量 int[] amounts = {2, 3, 1, 2, 1}; // 计算总价和优惠金额 double total = 0; double discount = 0; for (int i = 0; i < goods.length; i++) { total += prices[i] * amounts[i]; if (amounts[i] >= 3) { discount += prices[i] * amounts[i] * 0.1; } } double actual = total - discount; // 打印小票头部 System.out.println("**********超市购物小票**********"); System.out.println("名称\t单价\t数量\t金额"); // 打印商品信息 for (int i = 0; i < goods.length; i++) { System.out.println(String.format("%s\t%.2f\t%d\t%.2f", goods[i], prices[i], amounts[i], prices[i] * amounts[i])); } // 打印小票底部 System.out.println("--------------------------------"); System.out.println(String.format("总计:%.2f元", total)); System.out.println(String.format("优惠:%.2f元", discount)); System.out.println(String.format("实付:%.2f元", actual)); System.out.println(String.format("日期:%s", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()))); System.out.println("**********谢谢惠顾,欢迎下次光临**********"); } } ``` 运行结果如下: ``` **********超市购物小票********** 名称 单价 数量 金额 可乐 3.50 2 7.00 薯片 2.80 3 8.40 饼干 4.20 1 4.20 牛奶 5.00 2 10.00 巧克力 7.50 1 7.50 -------------------------------- 总计:37.10元 优惠:1.50元 实付:35.60元 日期:2021-09-22 15:32:45 **********谢谢惠顾,欢迎下次光临********** ``` 以上代码实现了一个超市购物小票的打印功能,包括商品名称、单价、数量、金额、总价、优惠金额、实付金额、日期等信息。可以根据实际需求进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值