作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
public class Test1{
JTable jTable1;
Test1(){
String columns[] = new String[] {"Name","Quantity","Rate","Amount"};
Object data[][]={
{"PEN","10","5","50"},
{"PENCIL","10","3","30"},
{"KEYBOARD AND MOUSE","10","3","30"}
};
jTable1 = new JTable(new ExampleTableModel(data,columns));
}
public static void main(String h[]){
Test1 t=new Test1();
t.printThisBill();
}
public void printThisBill() {
TableModel mod = jTable1.getModel();
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
DateFormat timeFormat = new SimpleDateFormat("HH:mm");
Date date = new Date();
String Date = dateFormat.format(date);
String Time = timeFormat.format(date);
double tax=0,amt1=0;
String Header =
" ****Super Market**** \n"
+ "Date: "+Date+" Time: "+Time+"\n"
+ "---------------------------------\n"
+ "Name Qty Rate Amt\n"
+ "---------------------------------\n";
String bill = Header;
int i =0;
do{
String name = ""+ mod.getValueAt(i, 0);
String qty = ""+mod.getValueAt(i, 1);
String rate = ""+mod.getValueAt(i, 2);
String amount = ""+mod.getValueAt(i, 3);
if(name.length() > 15){
name = name.substring(0, 15)+" ";
}
rate = rate;
//String items = name+"\t"+qty+"\t"+rate+"\t"+amount+"\n";
String items = name+"\t"+qty+"\t"+rate+"\t"+amount+"\n";
bill = bill+ items;
amt1=Double.parseDouble(amount)+amt1;
i++;
}while(i <= mod.getRowCount()-1);
String amt= "\n \n \nTotal Amount = "+amt1+"\n"
+ "Tax ="+tax+ "\n"
+ "*********************************\n"
+ "Thank you. \n";
bill = bill+amt;
System.out.println(bill);
printCard(bill);
//dispose();
}
public static void printCard(final String bill ){
Printable contentToPrint = new Printable(){
@Override
public int print(Graphics graphics, PageFormat pageFormat, int page) throws PrinterException {
if (page > 0) {
return NO_SUCH_PAGE;
}
pageFormat.setOrientation(PageFormat.LANDSCAPE);
Graphics2D g2d = (Graphics2D)graphics.create();
g2d.setPaint(Color.black);
g2d.setFont(new Font("Arial", Font.BOLD, 10));
g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableX());
g2d.drawString(bill, 0, 0);
return PAGE_EXISTS;
}
};
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(contentToPrint);
try {
job.print();
} catch (PrinterException e) {
System.err.println(e.getMessage());
}
}
}
我使用的是 EPSON TM-81 打印机。我尝试通过上面的 java 代码打印表数据,但它给了我一些错误。当我尝试运行此代码时,我收到消息“打印机不接受作业”。如果您有任何疑问,请发布
最佳答案
这是收据打印机。通常您无法使用 Java 打印 API 来打印该打印机。您可以测试使用Java文件i/o直接打印到打印机端口:
File windows_pr = new File("LPR:");
File linux_pr = new File("/dev/ttyS2");
或使用通用 ( http://en.wikipedia.org/wiki/JavaPOS ) 或供应商特定的 Java 库。
关于使用epson-tmt81打印的JAVA代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19048366/
我试过JDK7-Update40和JDK8,仍然无法运行TMT网站的测试代码。 每次我点击“运行”时,它都会给出如下错误信息: error: error while loading CharSeque
斯坦福 TMT 的“summary.txt”文件中的典型片段如下: Topic00 37.47500834475079 term1 11.163093014855274 term2
我是一名优秀的程序员,十分优秀!