⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jprinter.java

📁 JAVAPOS EPSON POS 的整合版本
💻 JAVA
字号:
package com.tap.printerTest;
/**
 *@author: Deli.Cheng
 *@Project_name: JPOSFire
 *@File_Name: jprinter.java
 *@Create on Mar 27, 2009 11:54:11 AM
 *Copyright (c)  by TAP-Group(SH)
 *@version: 1.0
 */
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;

import jpos.JposException;
import jpos.POSPrinter;
import jpos.POSPrinterConst;
import jpos.POSPrinterControl19;

import jpos.events.DirectIOEvent;
import jpos.events.OutputCompleteEvent;
import jpos.events.OutputCompleteListener;
import jpos.events.StatusUpdateEvent;
import jpos.events.StatusUpdateListener;
import jpos.events.DirectIOListener;

public class jprinter{
	
	POSPrinterControl19 ptr = null;
	
	public jprinter(){
		init();
	}
	public void init(){
		ptr = (POSPrinterControl19)new POSPrinter();
		try {
			ptr.open("POSPrinter");
			
			ptr.claim(1000);
			
			ptr.setDeviceEnabled(true);
			
			ptr.setRecLetterQuality(true);
			//注册一张图片
			//这里是当前目录下的javapos.bmp
//			ptr.setBitmap(1, // Bitmap编号
//			POSPrinterConst.PTR_S_RECEIPT,
//			"javapos.bmp",
//			POSPrinterConst.PTR_BM_ASIS,
//			// 打印出的每一点对应一个象素
//			POSPrinterConst.PTR_BM_CENTER);
			//check();
			
			//ptr.setLogo(POSPrinterConst.PTR_L_TOP, "Mannings.gif");
			
			
			
			//ptr.printBitmap(POSPrinterConst.PTR_S_RECEIPT, "Mannings.gif", POSPrinterConst.PTR_BM_ASIS, POSPrinterConst.PTR_BM_CENTER);
			
			//getBufferImage("logo.png");
			
			
		
			
			// ESC | #B, 该ESC指令序列可以打印位图,其中#代表位图编号
			//ptr.printNormal(POSPrinterConst.PTR_S_RECEIPT, "THANK YOU FOR SHOPPING AT PARK'n SHOP ABCD\n");
			
			ptr.printNormal(POSPrinterConst.PTR_S_RECEIPT, "\u001b|rvC测试测试测试测试 \u001b|bC 测试测试测试测试测试测试测");
			
//			ptr.printNormal(POSPrinterConst.PTR_S_RECEIPT, "\u001b|cA多谢惠顾  请保管小票  以作退货凭证 \n");
//			
//			ptr.printNormal(POSPrinterConst.PTR_S_RECEIPT, "\u001b|cA钱钞,物品请当面清点,发票请于当日内开具 \n");
//			
//			ptr.printNormal(POSPrinterConst.PTR_S_RECEIPT, "\u001b|cA \u001b|#uC Le Pare FuTian District \n");
//			
//			ptr.printNormal(POSPrinterConst.PTR_S_RECEIPT, "\u001b|广州黄埔大道盈隆广场分店 热线:829631011111 \n");
			
			ptr.printNormal(POSPrinterConst.PTR_S_RECEIPT, "\u001b|fP");
					
			ptr.addOutputCompleteListener(new OutputCompleteListener()
			{

				@Override
				public void outputCompleteOccurred(OutputCompleteEvent arg0) {
					System.out.println("测试...");
					
				}
				
			});
			
			
			ptr.addStatusUpdateListener(new StatusUpdateListener()
			{

				@Override
				public void statusUpdateOccurred(StatusUpdateEvent arg0) {
					System.out.println(arg0.getStatus());
					
				}
				
			});
			
			
			ptr.addDirectIOListener(new DirectIOListener()
			{

				@Override
				public void directIOOccurred(DirectIOEvent arg0) {
					System.out.println("fdsfdsfs");
					
				}
				
			});
			
			ptr.release();
                    
		} catch (JposException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public boolean release(){
		boolean isok = false;
		return isok;
	}
	
//    public void printImage(BufferedImage image) {
//        try {
//            if (ptr.getCapRecBitmap()) { // si podemos imprimir bitmaps.
//                
//                File f = File.createTempFile("jposimg", ".png");
//                OutputStream out = new FileOutputStream(f);
//                out.write(ImageUtils.writeImage(image));
//                out.close();
//                
//                ptr.printBitmap(POSPrinterConst.PTR_S_RECEIPT, f.getAbsolutePath(), POSPrinterConst.PTR_BM_ASIS, POSPrinterConst.PTR_BM_CENTER);
//            }
//        } catch (IOException eIO) {
//        } catch (JposException e) {
//        }
//    }
    
    public BufferedImage getBufferImage(String fileName){
    	Image image = null;
    	BufferedImage bufferedImage = null;
    	image = (new ImageIcon(fileName)).getImage();
//		if (width != -11)
//			image = (new ImageIcon(image.getScaledInstance(width, -1, 1))).getImage();
		try
		{
			bufferedImage = new BufferedImage(image.getWidth(null), image.getHeight(null), 1);
			System.out.println("***DeviceTSP613***bufferedImage.getWidth()**line:981*****"+bufferedImage.getWidth());
			Graphics g = bufferedImage.createGraphics();
			g.setColor(Color.white);
			g.fillRect(0, 0, image.getWidth(null), image.getHeight(null));
			g.drawImage(image, 0, 0, null);
			g.dispose();
		}
		catch (Exception e)
		{
			//throw new JposException(114, 207);
			e.printStackTrace();
		}
		return bufferedImage;
    }
    
    public String[] check(){
    	String[] names = ImageIO.getWriterFormatNames();
    	
    	Object[] icon = ImageIcon.class.getGenericInterfaces();
    	if(null!=names&&names.length>0){
    		for(int i=0;i<names.length;i++){
    			System.out.println(names[i].toString());
    		}
    	}
    	
    	if(null!=icon&&icon.length>0){
    		for(int i=0;i<icon.length;i++){
    			System.out.println(icon[i].toString());
    		}
    	}
    	return null;
    }
	
	public static void main(String[] args) {

		jprinter jp = new jprinter();
		//jp.init();
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -