📄 jprinter.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 + -