twain扫描仪无法从扫描仪获取图像

时间:2015-03-02 08:59:18

标签: java applet twain

我实现了一个小程序从扫描仪获取图像,因为我已经使用了twain implementation.it工作正常,而我正在运行应用程序作为Java小程序,但问题是它无法从扫描设备获取图像我从一个html文件运行.it没有给出任何错误,我无法调试应用程序。 任何机构都能告诉我如何解决这个问题。

这是我的HTML

<html>
<head><title>Scann</title></head>
<body>
<center>
    <applet id="TwainApplet"
            code = "com.nic.applet.TwainExample.class"
            archive="TwainApplet.jar"
            width="200"
            height="60">
    </applet>
</center>
</body>
</html>
下面是我的吐温班..

public class TwainExample extends Applet implements ScannerListener{

  static TwainExample app; 

  Scanner scanner;

  public TwainExample(String[] argv)throws ScannerIOException{
    scanner=Scanner.getDevice();
    scanner.addListener(this);   
    scanner.acquire();
  }

  public void update(ScannerIOMetadata.Type type, ScannerIOMetadata metadata){
    if(type.equals(ScannerIOMetadata.ACQUIRED)){
      BufferedImage image=metadata.getImage();
      System.out.println("Have an image now!");
      try{
        ImageIO.write(image, "png", new File("mmsc_image.png"));
      }catch(Exception e){
        e.printStackTrace();
      }
    }else if(type.equals(ScannerIOMetadata.NEGOTIATE)){
      ScannerDevice device=metadata.getDevice();
      try{
//        device.setShowUserInterface(true);
//        device.setShowProgressBar(true);
//        device.setResolution(100);
      }catch(Exception e){
        e.printStackTrace();
      }
    }else if(type.equals(ScannerIOMetadata.STATECHANGE)){
      System.err.println(metadata.getStateStr());
      if(metadata.isFinished()){
        System.exit(0);
      }
    }else if(type.equals(ScannerIOMetadata.EXCEPTION)){
      metadata.getException().printStackTrace();
    }
  }

  public static void main(String[] argv){
    try{
      app=new TwainExample(argv);
    }catch(Exception e){
      e.printStackTrace();
    }
 }
}

1 个答案:

答案 0 :(得分:0)

试试这个

public void update(ScannerIOMetadata.Type type, ScannerIOMetadata metadata){
if(type.equals(ScannerIOMetadata.ACQUIRED)){
  BufferedImage image=metadata.getImage();
  System.out.println("Have an image now!");
  System.out.println("Have"+identy);
  try{

      File home = new File("C:\\Directory1");//المجلد الاساسي حق الموظفين
      File dir  = new File(home,identy);//مجلد الموظف عشان نحفظ فيه ملفات الموظف لوحده 
      if(!dir.exists()){ dir = home;}//اذا مجلد الموظف غير موجود احفظ في المجلد الاساسي
      File file = new File(dir,"we.jpg");//file.delete();
      ImageIO.write(image, "JPG", file);
//        ImageIO.write(image, "png", new File("C:\\Directory1//we.png"));
         System.out.println(file.getCanonicalPath());
         convertTOpdf();
      }catch(Exception e){
        e.printStackTrace();
        JOptionPane.showMessageDialog(null, e.getMessage());
      }
    }else if(type.equals(ScannerIOMetadata.NEGOTIATE)){
      ScannerDevice device=metadata.getDevice();
      try{
        device.setShowUserInterface(true);
        device.setShowProgressBar(true);
        device.setResolution(100);
      }catch(Exception e){
        e.printStackTrace();
        JOptionPane.showMessageDialog(null, e.getMessage());
      }
    }else if(type.equals(ScannerIOMetadata.STATECHANGE)){
      System.err.println(metadata.getStateStr());
      if(metadata.isFinished()){
        //System.exit(0);
      }
    }else if(type.equals(ScannerIOMetadata.EXCEPTION)){
      metadata.getException().printStackTrace();
    }
  }
相关问题