Javatwain may be a powerful solution,you can go to www.gnome.sk to download the newest package. JavaTwain version 5.1 is a part of the Morena 6.0 Framework now. below is an simple example: /* * $Id: ExampleShow.java,v 1.5 2002/07/15 13:48:55 mmotovsk EXP $ * * Copyright (c) 1999-2002 Gnome spol. s r.o. All Rights Reserved. * * This software is the confidential and proprietary information of * Gnome spol. s r.o. You shall not disclose sUCh Confidential * Information and shall use it only in accordance with the terms * of the license agreement you entered into with Gnome. */ // JavaTwain package version 5.1 /** ExampleShow demonstrates how to scan an image using defaults from the Twain source. <BR> */ import java.awt.*; import java.awt.event.*; import SK.gnome.twain.*; public class ExampleShow extends Frame { Image image; public void paint(Graphics g) { if (null!=image) g.drawImage(image, 0, 0, this); } WindowListener windowAdapter=new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }; public ExampleShow() { try { addWindowListener(windowAdapter); setTitle("ExampleShow Frame Application"); // Open TWAIN select source dialog box // and initialize the source selected by the user. TwainSource source=TwainManager.selectSource(null); image=Toolkit.getDefaultToolkit().createImage(source); // wait for the image to be completed MediaTracker tracker=new MediaTracker(this); tracker.addImage(image, 0); // this is the moment the scanner user interface pops up System.err.println("Start loading image ..."); try { tracker.waitForAll(); } catch (InterruptedException e) { System.err.println("Image loading was interrupted!"); e.printStackTrace(); } tracker.removeImage(image); System.err.println("Image loaded ..."); setSize(image.getWidth(this), image.getHeight(this)); setVisible(true); TwainManager.close(); } catch (TwainException e) { e.printStackTrace(); } } public static void main(String[] args) { new ExampleShow(); } }
|