麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

對(duì)于java的打印問題

2019-11-18 13:25:26
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  對(duì)于java的打印問題,各種書上談的很少。我想主要原因可能是java的打印功能太弱了,沒有什么可介紹的。 最近,我因?yàn)楣ぷ鞯年P(guān)系,用到了java的打印圖象功能。不過因?yàn)槿鄙倏蓞⒖嫉睦雍徒滩?,我只有查看jdk 的API文檔,的確不是很爽。下面就把我的程序給大家講講,順便白話一下java的打印(是jdk1.2的)。 java的打印類都在java.awt.PRint包下,主要有四個(gè)類和兩個(gè)interface:PrinterJob,PageFormat, Paper,Book; Printable,Pageable。(具體的情況,請(qǐng)查看jdk的API文檔,我只講我程序中用到的部分)
    Interface包括 Printable:主要是用來(lái)打印的接口,在打印的時(shí)候,它的print()方法不斷地被調(diào)用,直到 返回NO_SUCH_PAGE為止。
  
  PrinterJob:初始化打印操作,可以顯示系統(tǒng)特定的打印對(duì)話框,例如windows的。
  
  
  PageFormat:描述可打印區(qū)。例如我的程序用的幾個(gè)方法
  
  
  public double getImageableX();
  public double getImageableY();
  public double getImageableWidth();
  public double getImageableHeight();
  
  
  
  package jinicup.printer;
  
  
  import java.awt.*;
  import java.awt.print.*;
  import java.awt.event.*;
  import javax.swing.JPanel;
  import javax.swing.JFrame;
  import javax.swing.ImageIcon;
  import java.io.*;
  
  
  /**********************************
  * Implemenation of the printer service
  ***********************************/
  public class PrinterImpl extends JPanel
  implements Printable {
  private Image image;
  private PrinterJob printJob;
  
  private double x,y,w,h;
  private int imagew,imageh;
  
  
  PrinterImpl () {
  
  
  printJob = PrinterJob.getPrinterJob();
  printJob.setPrintable(this);
  printJob.printDialog();
  }
  
  
  public int print (Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {
  System.out.println("pageIndex"+pageIndex);
  if (pageIndex >= 1) {
  return Printable.NO_SUCH_PAGE;
  }
  x = pageFormat.getImageableX();
  y = pageFormat.getImageableY();
  w = pageFormat.getImageableWidth();
  h = pageFormat.getImageableHeight();
  
  if(imagew >= imageh){
  h=w*imageh/imagew;
  }else{
  w=h*imagew/imageh;
  }
  
  System.out.println(x+" "+y);
  System.out.println(w+" "+h);
  
  
  
  drawGraphics(graphics);
  return Printable.PAGE_EXISTS;
  }
  
  
  public void paint (Graphics graphics) {
  drawGraphics(graphics);
  }
  
  
  private void drawGraphics (Graphics graphics) {
  
  
  graphics.drawImage(image, (int)x,(int)y,(int)w,(int)h, null);
  // graphics.drawOval(10, 10, 100, 50);
  }
  
  
  /**********************************
  * starts the printing
  * @param byteArrayOfJPEGFile a valid byte array of a jpg file (can be directly from the camera)
  ***********************************/
  public void printByteArray (byte[] byteArrayOfJPEGFile) {
  // Toolkit tool = Toolkit.getToolkit();
  // image=tool.createImage(byteArrayOfJPEGFile);
  image = (new ImageIcon(byteArrayOfJPEGFile)).getImage();
  
  imagew=image.getWidth(null);
  imageh=image.getHeight(null);
  System.out.println(imagew+" "+imageh);
  
  
  System.out.println("kkk");
  try {
  System.out.println("start printing");
  printJob.print();
  System.out.println("printing was spooled to the printer");
  } catch (Exception ex) {
  System.out.println(ex);
  }
  return;
  }
  
  
  /**********************************
  * main method, only for text purposes
  * @param args no args are used
  ***********************************/
  public static void main (String[] args) {
  PrinterImpl pi = new PrinterImpl();
  try {
  FileInputStream fs = new FileInputStream("e:/test.jpg");
  System.out.println(fs.available());
  byte[] array = new byte[fs.available()];
  fs.read(array);
  pi.printByteArray(array);
  } catch (Exception e) {
  System.out.println(e);
  }
  }
  }

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 日韩区在线 | www.99热精品| 国产精品久久久久久久久久了 | 久久久久久久久久久国产精品 | 国产精选电影免费在线观看 | 香蕉久久久 | 精品国产一区二区三区四 | 毛片视频在线免费观看 | 欧美一级黄色片免费观看 | 一区二区免费看 | 色妞视频男女视频 | 久久这 | 亚洲影院在线 | 国产精品18久久久久久久 | 精品中文字幕久久久久四十五十骆 | 天天色综合2 | 黄色av一区二区三区 | 免费一级毛片免费播放 | 91精品国产一区二区三区四区在线 | 国产精品久久久久久久亚洲按摩 | 精品成人国产在线观看男人呻吟 | 久久久午夜电影 | 一级成人黄色片 | 日韩精品久久久久久 | 在线1区| 日韩字幕 | 失禁高潮抽搐喷水h | 欧美视频在线一区二区三区 | 久久久久国产一区二区三区不卡 | 久久精品国产一区二区 | 久久综合综合久久 | 亚洲精品久久久久久下一站 | 日本在线播放一区二区三区 | 国产资源在线视频 | 婷婷一区二区三区 | 国产又粗又爽又深的免费视频 | 爱操在线 | 成人午夜激情网 | 国产精品免费在线 | 成人在线视频网 | 欧美videofree性欧美另类 |