// uniCenta oPOS - Touch Friendly Point Of Sale
// Copyright (c) 2009-2014 uniCenta & previous Openbravo POS works
// http://www.unicenta.com
//
// This file is part of uniCenta oPOS
//
// uniCenta oPOS is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// uniCenta oPOS is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
package com.openbravo.pos.printer.escpos;
import com.openbravo.pos.printer.DevicePrinter;
import com.openbravo.pos.printer.TicketPrinterException;
import java.awt.image.BufferedImage;
import javax.swing.JComponent;
/**
*
* @author JG uniCenta
*/
public class DevicePrinterPlain implements DevicePrinter {
private static final byte[] NEW_LINE = {0x0D, 0x0A}; // Print and carriage return
private PrinterWritter out;
private UnicodeTranslator trans;
// Creates new TicketPrinter
/**
*
* @param CommOutputPrinter
* @throws TicketPrinterException
*/
public DevicePrinterPlain(PrinterWritter CommOutputPrinter) throws TicketPrinterException {
out = CommOutputPrinter;
trans = new UnicodeTranslatorStar(); // The star translator stands for the 437 int char page
}
/**
*
* @return
*/
@Override
public String getPrinterName() {
return "Plain";
}
/**
*
* @return
*/
@Override
public String getPrinterDescription() {
return null;
}
/**
*
* @return
*/
@Override
public JComponent getPrinterComponent() {
return null;
}
/**
*
*/
@Override
public void reset() {
}
/**
*
*/
@Override
public void beginReceipt() {
}
/**
*
* @param image
*/
@Override
public void printImage(BufferedImage image) {
}
/**
*
*/
@Override
public void printLogo(Byte iNumber){
}
/**
*
* @param type
* @param position
* @param code
*/
@Override
public void printBarCode(String type, String position, String code) {
if (! DevicePrinter.POSITION_NONE.equals(position)) {
out.write(code);
out.write(NEW_LINE);
}
}
/**
*
* @param iTextSize
*/
@Override
public void beginLine(int iTextSize) {
}
/**
*
* @param iStyle
* @param sText
*/
@Override
public void printText(int iStyle, String sText) {
out.write(trans.transString(sText));
}
/**
*
*/
@Override
public void endLine() {
out.write(NEW_LINE);
}
/**
*
*/
@Override
public void endReceipt() {
out.write(NEW_LINE);
out.write(NEW_LINE);
out.write(NEW_LINE);
out.write(NEW_LINE);
out.write(NEW_LINE);
out.flush();
}
/**
*
*/
@Override
public void openDrawer() {
}
}