导航:首页 > 编程语言 > java打印小票

java打印小票

发布时间:2022-08-20 22:51:18

java 小票打印机

没用过这个接口,,不过一般不都是加到队列里然后多线程打印呗

㈡ java如何实现pos机打印小票

这个东西呀,要调用驱动~ 小票机的接口驱动

㈢ java票据打印,类似于超市的小票那样的,怎么控制打印的纸张大小啊

楼上的人一看就是在混分。
其实这种问题应该到更专业的地方问,比如CSDN或者JAVAEYE。
还是把以前写的一个例子给楼主看一下。
很多对方对照注释看一下。

这里只是写一个java实现打印小票最基本的功能:(记住:每一行不能有太长的数据,否则要超出边界)

public class TestPrint implements Printable {

/**
* * @param Graphic指明打印的图形环境 * @param
* PageFormat指明打印页格式(页面大小以点为计量单位,1点为1英寸的1/72,1英寸为25.4毫米。A4纸大致为595×842点) * @param
* pageIndex指明页号
**/
public int print(Graphics gra, PageFormat pf, int pageIndex)
throws PrinterException {
System.out.println("pageIndex=" + pageIndex);
Component c = null;
// print string
String str = "功能测试";
// 转换成Graphics2D
Graphics2D g2 = (Graphics2D) gra;
// 设置打印颜色为黑色
g2.setColor(Color.red);
// 打印起点坐标
double x = pf.getImageableX();
double y = pf.getImageableY();
switch (pageIndex) {
case 0:
// 设置打印字体(字体名称、样式和点大小)(字体名称可以是物理或者逻辑名称)
// Java平台所定义的五种字体系列:Serif、SansSerif、Monospaced、Dialog 和 DialogInput
Font font = new Font("新宋体", Font.PLAIN, 9);
g2.setFont(font); // 设置字体
// BasicStroke bs_3=new BasicStroke(0.5f);
float[] dash1 = { 2.0f };
// 设置打印线的属性。
// 1.线宽 2、3、不知道,4、空白的宽度,5、虚线的宽度,6、偏移量
g2.setStroke(new BasicStroke(0.5f, BasicStroke.CAP_BUTT,
BasicStroke.JOIN_MITER, 2.0f, dash1, 0.0f));
// g2.setStroke(bs_3);//设置线宽
float heigth = font.getSize2D(); // 字体高度
System.out.println("x=" + x);
// -1- 用Graphics2D直接输出
// 首字符的基线(右下部)位于用户空间中的 (x, y) 位置处
// g2.drawLine(10,10,200,300);
Image src = Toolkit
.getDefaultToolkit()
.getImage(
"D:\\Aotori\\javaPic.jpg");
g2.drawImage(src, (int) x, (int) y, c);
int img_Height = src.getHeight(c);
int img_width = src.getWidth(c);
//System.out.println("img_Height="+img_Height+"img_width="+img_width
// ) ;
g2.drawString(str, (float) x, (float) y + 1 * heigth + img_Height); //第一排
g2.drawString("oooooooooooo", (float) 50, (float) 60 + 1 * heigth + img_Height); //第二排
g2.drawString("", (float) 80, (float) 90 + 1 * heigth + img_Height); //第三排
g2.drawLine((int) x, (int) (y + 1 * heigth + img_Height + 10),
(int) x + 200, (int) (y + 1 * heigth + img_Height + 10));
g2.drawImage(src, (int) x,
(int) (y + 1 * heigth + img_Height + 11), c);
return PAGE_EXISTS;
default:
return NO_SUCH_PAGE;
}
}

public static void test() {
//ReadData();
// 通俗理解就是书、文档
Book book = new Book();
// 设置成竖打
PageFormat pf = new PageFormat();
pf.setOrientation(PageFormat.PORTRAIT); // LANDSCAPE表示竖打;PORTRAIT表示横打;REVERSE_LANDSCAPE表示打印空白
// 通过Paper设置页面的空白边距和可打印区域。必须与实际打印纸张大小相符。
Paper p = new Paper();
p.setSize(590, 840); // 纸张大小(590, 840)表示A4纸
p.setImageableArea(10, 10, 260, 343); // A4(595 X
// 842)设置打印区域,其实0,0应该是72,72
// ,因为A4纸的默认X,Y边距是72

pf.setPaper(p);
// 把 PageFormat 和 Printable 添加到书中,组成一个页面
book.append(new TestPrint(), pf);
// 获取打印服务对象
PrinterJob job = PrinterJob.getPrinterJob();
// 设置打印类
job.setPageable(book);
try {
// 可以用printDialog显示打印对话框,在用户确认后打印;也可以直接打印
boolean a=job.printDialog();
if(a)
{
job.print();
}
} catch (PrinterException e) {
e.printStackTrace();
}
}

}

㈣ 用java实现,控制多种不同的小票打印机打印小票

小票打印机肯定是一台就ok的,只是在制定打印内容的时候,从数据库取出判断出不同的打印模版制定页面,调用打印机的打印服务。

㈤ java打印小票怎么才能弹出这个框直接打印呢

package com.;

import java.io.File;
import java.io.FileInputStream;

import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.ServiceUI;
import javax.print.SimpleDoc;
import javax.print.attribute.DocAttributeSet;
import javax.print.attribute.HashDocAttributeSet;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.swing.JFileChooser;

/**
* 打印机
* @author Administrator
*
*/
public class PrintDemo {
public static void main(String[] args) {
JFileChooser fileChooser = new JFileChooser(); //创建打印作业
int state = fileChooser.showOpenDialog(null);
if(state == fileChooser.APPROVE_OPTION){
File file = new File("D:/zkyzl.txt"); //获取选择的文件
//构建打印请求属性集
HashPrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
//设置打印格式,因为未确定类型,所以选择autosense
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
//查找所有的可用的打印服务
PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);
//定位默认的打印服务
PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
//显示打印对话框
PrintService service = ServiceUI.printDialog(null, 200, 200, printService,
defaultService, flavor, pras);
if(service != null){
try {
DocPrintJob job = service.createPrintJob(); //创建打印作业
FileInputStream fis = new FileInputStream(file); //构造待打印的文件流
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fis, flavor, das);
job.print(doc, pras);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}

}

参考资料:http://bbs.csdn.net/topics/330062487

㈥ 部署到服务器上的项目java怎么打印小票

打印小票需要外接设备,并不是服务器java打印的,服务器java可以对接小票打印机,通过调用服务接口实现小票打印功能

㈦ java 利用串口实现小票打印,怎么清空串口的缓冲区。

将MSComm的Inputlen属性设为0.表示一次读取整个缓冲区,这样读取之后,缓冲区就自动被清空了

㈧ 求 java 打印小票的 程序 能设定 边距和打印区域

你的商品集合和价格集合只是声明了大小没有初始值。你可以改第二个类如下:package shanji.ketanlianxi;public class Data public void intial()}

㈨ java控制打印机打印电脑小票

打印程序可以用打印机提供商提供的驱动来实现。
如果没有驱动,可以利用串口技术实现,不过前提是要拿到串口的接口文档。

阅读全文

与java打印小票相关的资料

热点内容
爱上北斗星男友在哪个app上看 浏览:413
主力散户派发源码 浏览:663
linux如何修复服务器时间 浏览:55
荣县优途网约车app叫什么 浏览:472
百姓网app截图是什么意思 浏览:222
php如何嵌入html 浏览:809
解压专家怎么传输 浏览:743
如何共享服务器的网络连接 浏览:132
程序员简易表白代码 浏览:166
什么是无线加密狗 浏览:62
国家反诈中心app为什么会弹出 浏览:67
cad压缩图打印 浏览:102
网页打开速度与服务器有什么关系 浏览:863
android开发技术文档 浏览:65
32单片机写程序 浏览:50
三星双清无命令 浏览:837
汉寿小程序源码 浏览:344
易助erp云服务器 浏览:532
修改本地账户管理员文件夹 浏览:419
python爬虫工程师招聘 浏览:285