当前位置:首页 » 编程语言 » java连接打印机

java连接打印机

发布时间: 2023-03-31 16:10:59

java程序如何驱动硬件打印机

java连灶弊接打印机打印pdf文件,网上搜索了一大把资料,基本上都是重复。。。下面骂人的一大堆。。我这里来解决一下。
需求:隐誉族前端调用用接口 后端根据模版生成数据联通打印机直接一键打印!
思路:这里讲一下打印最好使用pdf去打印。不管是word.excel 都是通过转PDF 再打印出来的。所以我这里的思路就是 选择模版生成文件,并且打印。
我这里选择html模版 也就是freemark模版。
1、通过vm文件生成html
2、通过html再转成 pdf
3、调用打印机方法打印虚戚

㈡ java如何连接打印机并打印从数据库里读出的数据

可以先将数据写入excel文件,弯皮洞再打印excel文件就可以了。写入excel很简单的握蚂,直接网络一下就可以了。一般可以用埋枯jxl或者用apache下的POI。

㈢ java 怎么调用到条码打印机!

编程控制条码打印机的有三种方式:1,直接使用条码打印机的驱动程序,把它当成普通打印机使用。条码可以使用条码字体或图形方式打印。2,使用条码打印机语言(脚本)直接送到打印机的端口,如并口,网口或usb口。 3,调用第三方软件,由第三方软件对打印机进行控制,标签模板的编辑等。你只需调用它并传输数据即可。

目前条码打印机品牌逗搜还是以进口为主,比如美者源国的斑马,霍尼韦尔(收购了intermec),Datamax,日本的东芝,台湾TSC等。
国产的主要有3家,以威海北洋、深圳博思和上首指态海启邦为主。
这些打印机基本都支持以上三种调用方式。

㈣ java中小票打印机接口有哪些

串口、并口、USB口。java中小票打印机接口有串口、并口、丛握梁USB口这三种接口模渗运式。打印机(Printer)是计算机的输出设备之一,用于将皮念计算机处理结果打印在相关介质上。

㈤ java如何调用本地打印机进行图片打印

用java实现本地打印:java.awt中提供了一些打印的API,要实现打印,首先要获得打印对象,然后继承Printable实现接口方法print,以便打印机进行打印,最后用用Graphics2D直接输出直接输出。
下面代码实现了简单的打印功能:


importjava.awt.BasicStroke;
importjava.awt.Color;
importjava.awt.Component;
importjava.awt.Font;
importjava.awt.Graphics;
importjava.awt.Graphics2D;
importjava.awt.Image;

importjava.awt.Toolkit;
importjava.awt.RenderingHints;
importjava.awt.font.FontRenderContext;
importjava.awt.font.LineBreakMeasurer;
importjava.awt.font.TextAttribute;
importjava.awt.font.TextLayout;
importjava.awt.geom.Point2D;
importjava.awt.image.BufferedImage;
importjava.awt.print.Book;
importjava.awt.print.PageFormat;
importjava.awt.print.Paper;
importjava.awt.print.Printable;
importjava.awt.print.PrinterException;
importjava.awt.print.PrinterJob;
importjava.text.AttributedString;

importjavax.swing.JApplet;{
/**
*@paramGraphic指明打印的图形环境
*@paramPageFormat指明打印页格式(页面大小以点为计量单位,1点为1英才的1/72,1英寸为25.4毫米。A4纸大致为595×842点)
*@parampageIndex指明页号
**/
publicintprint(Graphicsgra,PageFormatpf,intpageIndex)throwsPrinterException{
System.out.println("pageIndex="+pageIndex);
Componentc=null;
//printstring
Stringstr="中华民族是勤劳、勇敢和富有智慧的伟大民族。";
//转换成Graphics2D
Graphics2Dg2=(Graphics2D)gra;
//设置打印颜色为黑色
g2.setColor(Color.black);

//打印起点坐标
doublex=pf.getImageableX();
doubley=pf.getImageableY();

switch(pageIndex){
case0:
//设置打印字体(字体名称、样式和点大小)(字体名称可以是物理或者逻辑名称)
//Java平台所定义的五种字体系列:Serif、SansSerif、Monospaced、Dialog和DialogInput
Fontfont=newFont("新宋体",Font.PLAIN,9);
g2.setFont(font);//设置字体
//BasicStrokebs_3=newBasicStroke(0.5f);
float[]dash1={2.0f};
//设置打印线的属性。
//1.线宽2、3、不知道,4、空白的宽度,5、虚线的宽度,6、偏移量
g2.setStroke(newBasicStroke(0.5f,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER,2.0f,dash1,0.0f));
//g2.setStroke(bs_3);//设置线宽
floatheigth=font.getSize2D();//字体高度
System.out.println("x="+x);
//-1-用Graphics2D直接输出
//首字符的基线(右下部)位于用户空间中的(x,y)位置处
//g2.drawLine(10,10,200,300);

Imagesrc=Toolkit.getDefaultToolkit().getImage("D:\EclipseWorkSpace3.1\Kfc-wuxi\WebRoot\image\KFC.jpg");
g2.drawImage(src,(int)x,(int)y,c);
intimg_Height=src.getHeight(c);
intimg_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.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);

returnPAGE_EXISTS;
default:
returnNO_SUCH_PAGE;
}

}


publicstaticvoidmain(String[]args){

//通俗理解就是书、文档
Bookbook=newBook();
//设置成竖打
PageFormatpf=newPageFormat();
pf.setOrientation(PageFormat.PORTRAIT);
//通过Paper设置页面的空白边距和可打印区域。必须与实际打印纸张大小相符。
Paperp=newPaper();
p.setSize(590,840);//纸张大小
p.setImageableArea(10,10,590,840);//A4(595X842)设置打印区域,其实0,0应该是72,72,因为A4纸的默认X,Y边距是72
pf.setPaper(p);
//把PageFormat和Printable添加到书中,组成一个页面
book.append(newPrintTest(),pf);

//获取打印服务对象
PrinterJobjob=PrinterJob.getPrinterJob();
//设置打印类
job.setPageable(book);

try{
//可以用printDialog显示打印对话框,在用户确认后打印;也可以直接打印
//booleana=job.printDialog();
//if(a)
//{
job.print();
//}
}catch(PrinterExceptione){
e.printStackTrace();
}
}
}

㈥ Java如何调用TSC打印机进行打印详解

给你介绍一种后台打印方法枣厅:亮散

使用javax中的PrintServiceLookup类进行打印,可以直接调用默认的打印机,也可以使用下列的方敬岩氏法进行筛选打印:

PrintServiceLookup.lookupMultiDocPrintServices(flavors, attributes);

可执行代码如下:

㈦ java怎么实现打印机打印

javax.print***
可以 当图形那样打开,挺费劲的
想打印好看、又省事,一般是转pdf等有格式的文档来打印
~~~~~~~~~
~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~~~~~

㈧ java怎么连接Gprinter条形码打印机

条形码打印机型号不同,不过思路都是一样的,以下可参考,另外需要你自己参考你的条形销弯谨码打印机的接口说明。

因项目需要,对Godex EZ2300条码机进行调用打印, 驱动为Ez2000.dll, 用JNI可以实现调用,但比较麻烦, 需

要用到VC6进行DLL封装,改用JNative组件进行亏基调用, 步骤如下:

1. 下载JNative-1.3.2.zip组件库

2. 解压出来后有JNative.jar / JNativeCpp.dll / libJNativeCpp.so三个文件,JNative.jar
置于%JAVA_HOME%/jre/lib/ext目录下, JNativeCpp.dll置于%SYSTEM%/WINDOWS/SYSTEM32目
录下

3.将Ez2000.dll置于%SYSTEM%/WINDOWS/SYSTEM32目录以及%JAVA_HOME%/jdk/bin目录下

4.

具体Java代码如下:

package com.athens.test;

import org.xvolks.jnative.JNative;
import org.xvolks.jnative.Type;
import org.xvolks.jnative.exceptions.NativeException;

public class Demo {

private static final String PRINTER_DLL = "Ez2000.dll";

public static void main(String [] args) {
Demo demo = new Demo();
System.loadLibrary("Ez2000");
JNative n = null;
try {
n = demo.getJNativeByFunction("isready");
n.setRetVal(Type.INT);
// n.setParameter(1, Type.VOID, "");
n.invoke();
Integer isready = Integer.parseInt(n.getRetVal());
if(isready == 1){

System.out.println("条码机可以开始接收资料闹迹!Starting...");
System.out.println("Starting...");
// 打开端口
n = demo.getJNativeByFunction("openport");
n.setParameter(0, Type.STRING, "0");
n.invoke();

// 设定参数
n = demo.getJNativeByFunction("setup");
n.setRetVal(Type.INT);
n.setParameter(0, Type.INT, "30");
n.setParameter(0, Type.INT, "7");
n.setParameter(0, Type.INT, "2");
n.setParameter(0, Type.INT, "1");
n.setParameter(0, Type.INT, "0");
n.setParameter(0, Type.INT, "0");
n.invoke();

// 发出指令
n = demo.getJNativeByFunction("sendcommand");
n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "W70");
n.invoke();

n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "^P1");
n.invoke();

n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "^L");
n.invoke();

n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "AC,20,60,1,1,1,0,TEST");
n.invoke();

// 发送条形码
n = demo.getJNativeByFunction("ecTextOut");
n.setParameter(0, Type.INT, "20");
n.setParameter(1, Type.INT, "10");
n.setParameter(2, Type.INT, "34");
n.setParameter(3, Type.STRING, "标楷体");
n.setParameter(4, Type.STRING, "Athens Testing Successlly!!!");
n.invoke();

// 发出指令
n = demo.getJNativeByFunction("sendcommand");
n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "E");
n.invoke();

// 关闭端口
n = demo.getJNativeByFunction("closeport");
n.invoke();
System.out.println("Ending...");
}else{
System.out.println("条码机无法接收资料!");
}
}catch(Exception e){
e.printStackTrace();
}finally{
if (n != null){
try {
n.dispose();
} catch (NativeException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
}

// 通过方法名取得JNative对象
public JNative getJNativeByFunction(String functionName) throws NativeException{
return new JNative(PRINTER_DLL, functionName);
}
}

㈨ java通过IP 连接无驱打印机

你先在直连打印机的那台电脑上“含销控制面板”-打印机和传真,右键点你现在使用的打印机器,属性里败历,共享一下,然后去另外一台谈枯游没有直连你打印机的电脑上,控制面板-打印机和传真-添加新的打印机-添加网络打印机,然后会要你输入打印主机名,你直接输入你那台直连打印机电脑的IP就行了

㈩ 如何使用java直接连接打印机打印excel文件

打印指定页号的告并含具蔽并体文本内容*/
private void drawCurrentPageText(Graphics2D g2, PageFormat pf, int page) {
String s = getDrawText(printStr)[page]; //袜笑获取当前页的待打印文本内容
//获取默认字体及相应的尺寸
FontRenderContext context = g2.getFontRenderContext();
Font f = area.getFont();
String drawText;
float ascent = 16; //给定字符点阵
int k, i = f.getSize(), lines = 0;
while(s.length() > 0 && lines < 54) //每页限定在54行以内
{

热点内容
存储卡那里有卖 发布:2024-05-04 02:45:42 浏览:967
磁盘存储介质 发布:2024-05-04 02:44:19 浏览:435
我的ae为什么没有脚本 发布:2024-05-04 02:44:00 浏览:791
车库配置灭火器有什么要求 发布:2024-05-04 02:41:46 浏览:16
软考算法 发布:2024-05-04 02:36:49 浏览:73
c语言求质因子 发布:2024-05-04 02:10:56 浏览:756
sqlserver无法启动 发布:2024-05-04 01:37:19 浏览:850
php使用正则 发布:2024-05-04 01:36:12 浏览:120
玉石密度算法 发布:2024-05-04 01:24:49 浏览:336
我的世界云服务器怎么样 发布:2024-05-04 01:20:01 浏览:23