本文共 3130 字,大约阅读时间需要 10 分钟。
- package news;
-
-
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.print.Book;
- import java.awt.print.PageFormat;
- import java.awt.print.Paper;
- import java.awt.print.Printable;
- import java.awt.print.PrinterException;
- import java.awt.print.PrinterJob;
- import java.text.DecimalFormat;
- import java.text.NumberFormat;
- import javax.print.PrintService;
- import javax.print.PrintServiceLookup;
- import javax.print.attribute.HashAttributeSet;
- import javax.print.attribute.standard.PrinterName;
-
-
- public class PrintWarranty implements Printable {
-
-
-
-
-
-
-
- int PageNumbers;
- String StartSN;
- String Model;
- String Format;
- public PrintWarranty(int PageNumbers,String StartSN,String Model,String Format)
- {
- this.PageNumbers=PageNumbers;
- this.StartSN=StartSN;
- this.Model=Model;
- this.Format=Format;
- }
- public void SetPageNum(int PageNumbers)
- {
- this.PageNumbers=PageNumbers;
- }
- public int getPageNum()
- {
- return PageNumbers;
- }
- public void SetStartSN(String StartSN)
- {
- this.StartSN=StartSN;
- }
- public String getStartSN()
- {
- return StartSN;
- }
- public void SetModel(String Model)
- {
- this.Model=Model;
- }
- public String getModel()
- {
- return Model;
- }
- public void SetFormat(String Format)
- {
- this.Format=Format;
- }
- public String getFormat()
- {
- return Format;
- }
- public int print(Graphics gra, PageFormat pf, int pageIndex) throws PrinterException {
- Graphics2D g2 = (Graphics2D) gra;
-
- g2.setColor(Color.black);
- Font font = new Font("MS PGothic", Font.PLAIN, 13);
- g2.setFont(font);
- if (pageIndex >= PageNumbers)
- return NO_SUCH_PAGE;
- String SN=StartSN.substring(6, 10);
- int intSN=Integer.parseInt(SN);
- intSN=intSN+pageIndex;
- NumberFormat formattern = new DecimalFormat("0000");
- SN=formattern.format(intSN);
- System.out.println(SN);
-
-
- g2.drawString(Model, (float) 134, (float) 145 );
- g2.drawString(StartSN.substring(0, 6)+SN, (float) 266, (float) 145 );
-
- return PAGE_EXISTS;
- }
-
-
- public void PrintLabel(String PrintQ) {
-
-
- Book book = new Book();
-
- PageFormat pf = new PageFormat();
- pf.setOrientation(PageFormat.PORTRAIT);
-
- Paper p = new Paper();
- p.setSize(567, 252);
- p.setImageableArea(10, 10, 590, 840);
- pf.setPaper(p);
-
- book.append(this, pf,this.getPageNum());
- String printerName=PrintQ;
- HashAttributeSet hs = new HashAttributeSet();
- hs.add(new PrinterName(printerName,null));
-
- PrintService[] printService =PrintServiceLookup.lookupPrintServices(null, hs);
- PrinterJob job = PrinterJob.getPrinterJob();
- try {
- if(printService.length>0){
- job.setPrintService(printService[0]);
- }
-
- job.setPageable(book);
-
- job.print();
-
-
- } catch (PrinterException e) {
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
-
- (new PrintWarranty(1,"2132300001","FTH-18","0")).PrintLabel("\\\\SHA1APFPSW02\\sha1aplj5sIT");
- }
- }
转载地址:http://uybvi.baihongyu.com/