參考javax.print.*
大致過程是這樣的:
寫一個servlet,專門實現列印服務
這個servlet內是這樣處理的:
1.獲取印表機物件printer
透過列舉PrintServiceprintservices[]=PrintServiceLookup.lookupPrintServices(...)
2.生成DocPrintJobjob=PrintService.createPrintJob();
3.生成文件Docdoc=newSimpleDoc(...);
需要3個引數
第一個是列印的資料,可以根據條碼,生成一幅影象,然把影象作為輸入流,作為第一個引數
第二個引數用一個DocFlavor.INPUT_STREAM物件
DocFlavor類有相應的靜態變數,你根據影象的mime型別選擇
第三個引數是一個DocAttributeSet物件
4.列印
job.print(doc,pras);
這是我以前寫的練習:
-----------------------------------------------------------------------
packageprinttest;
importjava.io.*;
importjavax.print.*;
importjava.awt.*;
importjava.awt.image.*;
importjavax.imageio.*;
publicclassApplication1
{
publicstaticvoidtest(Stringcode)
try{
DocFlavorflavor=DocFlavor.INPUT_STREAM.JPEG;
//getaprinter
PrintService[]printers=PrintServiceLookup.lookupPrintServices(flavor,null);
for(inti=0;i<printers.length;i++)System.out.println(printers[i].getName());
PrintServiceprinter=printers[0];
//job
DocPrintJobjob=printer.createPrintJob();
//document
BufferedImageimg=newBufferedImage(400,300,BufferedImage.TYPE_USHORT_555_RGB);
Graphicsg=img.getGraphics();
g.drawString(code,100,100);
ByteArrayOutputStreamoutstream=newByteArrayOutputStream();
ImageIO.write(img,"jpg",outstream);
byte[]buf=outstream.toByteArray();
InputStreamstream=newByteArrayInputStream(buf);
Docdoc=newSimpleDoc(stream,flavor,null);
//print
job.print(doc,null);
}
catch(Exceptione)
e.printStackTrace();
//Mainmethod
publicstaticvoidmain(String[]args)
test("12345");
參考javax.print.*
大致過程是這樣的:
寫一個servlet,專門實現列印服務
這個servlet內是這樣處理的:
1.獲取印表機物件printer
透過列舉PrintServiceprintservices[]=PrintServiceLookup.lookupPrintServices(...)
2.生成DocPrintJobjob=PrintService.createPrintJob();
3.生成文件Docdoc=newSimpleDoc(...);
需要3個引數
第一個是列印的資料,可以根據條碼,生成一幅影象,然把影象作為輸入流,作為第一個引數
第二個引數用一個DocFlavor.INPUT_STREAM物件
DocFlavor類有相應的靜態變數,你根據影象的mime型別選擇
第三個引數是一個DocAttributeSet物件
4.列印
job.print(doc,pras);
這是我以前寫的練習:
-----------------------------------------------------------------------
packageprinttest;
importjava.io.*;
importjavax.print.*;
importjava.awt.*;
importjava.awt.image.*;
importjavax.imageio.*;
publicclassApplication1
{
publicstaticvoidtest(Stringcode)
{
try{
DocFlavorflavor=DocFlavor.INPUT_STREAM.JPEG;
//getaprinter
PrintService[]printers=PrintServiceLookup.lookupPrintServices(flavor,null);
for(inti=0;i<printers.length;i++)System.out.println(printers[i].getName());
PrintServiceprinter=printers[0];
//job
DocPrintJobjob=printer.createPrintJob();
//document
BufferedImageimg=newBufferedImage(400,300,BufferedImage.TYPE_USHORT_555_RGB);
Graphicsg=img.getGraphics();
g.drawString(code,100,100);
ByteArrayOutputStreamoutstream=newByteArrayOutputStream();
ImageIO.write(img,"jpg",outstream);
byte[]buf=outstream.toByteArray();
InputStreamstream=newByteArrayInputStream(buf);
Docdoc=newSimpleDoc(stream,flavor,null);
//print
job.print(doc,null);
}
catch(Exceptione)
{
e.printStackTrace();
}
}
//Mainmethod
publicstaticvoidmain(String[]args)
{
test("12345");
}
}