⑴ java停止掃描恢復掃描
調用掃描儀再次打開。
先搞清楚要在哪種類型的程序中調用掃描儀如果開發的程序是java application或者基於 swing的程序,可以算作是單機或者 c/s架構的程序,applet和java fx技術也可以這么算,因為都是直接通過java程序去操控掃描儀設備,如果是基於瀏覽器的應用,即b/s架構的程序,掃描圖像的工作是在客戶端完成的,這種情況下Java程序其實是接收和保存掃描儀讀取的圖像結果,並不需要直接的控制掃描儀工作,這一點上和c/s架構的程序有本質的區別。
⑵ 安裝掃描儀問題!!!急急急!!!!
一、掃描儀正確安裝步驟
請您做以下步驟:
1、請先卸載方正掃描儀驅動程序 (如果是第一次安裝請忽略此步驟)
2、將方正掃描儀與電腦斷開連接
3、將方正掃描儀軟體安裝光碟放進光碟驅動器安裝驅動程序及相關軟體
4、重新啟動您的計算機
5、將方正掃描儀與電腦進行連接
6、在彈出的發現新硬體的對話框里選擇自動尋找驅動程序
7、提示微軟認證標志的時候選擇「仍然安裝」(Windows98除外)
8、重新啟動您的計算機
二、當掃描儀無法與計算機創建聯機時的處理方法
在掃描儀與計算機斷開的情況下,先將掃描儀的驅動安裝到計算機上,重新啟動計算機,同時,將掃描儀與計算機連接好,如報「方正掃描精靈無法與計算機創建聯接」時進行下列操作:
當你的系統是WIN98或WINME時,到計算機的「控制面板」內找到「系統」,找到「設備管理器」,查看設備列表是否有標有黃色問號的「USBSCANNER」的其它設備,如有請將其刪除後,重新啟動計算機。
當你的系統是WINXP或WIN2000時,到計算機的「控制面板內」,找到「系統」(有時會在性能與維護內),打開它,找到「硬體」,打開「硬體」,點擊「設備管理器」,查看「設備列表」,首先查看有無「圖象處理設備」,如有請對其下面的標有黃色驚嘆號的掃描儀設備,進行更新驅動程序的操作,請按推薦的模式進行下一步操作,如遇報沒有經過微軟的數字簽名或徽標測試,請繼續,直到對其完成硬體設置,點擊完成。如沒有圖象處理設備,請查看有無標有黃色問號的「其它設備」,如有,請對其下面的USB的設備進行上述操作。
三、方正掃描儀無法卸載的解決方法!
單擊「開始」, 點擊「運行」
輸入「regedit」點擊「確定」
展開[HKey_Local_Machine]
展開[Software]
展開[Microsoft]
展開[Windows]
展開[Current Version]
展開[Uninstall]
找到文件夾{82CE2910-50B6-4EC1-A21C-9D7E2424F0AB}, 然後刪除.
關閉注冊表編輯器,重新啟動電腦。
註:F5180/F5180+/F8180+/F6688是「方正掃描儀驅動程序」
Z310的為{E1CC7AFA-591E-4C0A-8719-1418664A264B}
四、安裝程序啟動安裝引擎失敗:不支持此介面的解決方法
在WIN2000或XP下安裝軟體時,有時會提示「安裝程序啟動安裝引擎失敗:不支持此介面」,導致無法安裝,解決方法於下。
方法一:是否具有管理員的許可權
方法二:可能是系統文件損壞或被修改,請嘗試用SFC命令修復一下。(sfc /SCANNOW)
方法三:裝了ACDSEE5.0(特別是迷你中文版),有時會導致這種現象,請卸掉5.0,找個其它版本(如4.0)的裝一下。
方法四:有的軟體安裝需要windows installer支持,一般解決方法為:在控制面板->管理工具->服務中,找到windows installer服務,把啟動類型改為手動,然後啟動即可。記住在安裝好程序後將此服務停止。如果仍然存在問題,請到微軟站點下載最新的windows installer 2.0版。
方法五:安裝文件是單線程的,查看正在運行的進程,如果裡面有ikernel.exe,則表示現在無法安裝,結束此進程,然後再安裝就OK了。
方法六:因為NORDON殺毒軟體會把INSTALL SHIELD 那個ikernel.exe文件誤認為病毒。退出防火牆,重新啟動,就好了。
方法七:入系統所在分區program files -> common fiels -> installshield -> engine -> 6 - >intel32,把這個文件夾中的文件全部刪除(或直接把engine整個文件夾都刪了),重新啟動,然後再安裝就OK了。
方法八:安裝NORTON SYTEMWORKS 2003,用它的WINDOCTOR自動修復,然後用了NORTON SYTEMWORKS的ONE BUTTON CHECKUP,重起,一切OK。
方法九:現在的好多的軟體的安裝程序都不是exe的而是msi,而msi是一種新的安裝程序的腳本文件。就算有的安裝程序是exe的但在它的安裝目錄里也有個msi文件,實際上是exe調用msi文件來安裝程序的。msi是腳本文件,實際上真正運行腳本文件的是「msiexec.exe」它就是一切問題的原因。需要安裝
instmsiw.exe這個文件,instmsiw.exe是一個壓縮包裡麵包括了所有關於運行msi所需要的文件。運行後問題就可解決了。 五、RPC 佔位程序錯誤: "不兼容的 RPC 佔位程序版本" "未處理的異常。錯誤編號:0x80070725"的解決方法
請瀏覽http://www.java.com/zh/download/help/rpcstub.jsp
六、錯誤代碼0x80040707的解決方法
請瀏覽http://consumer.installshield.com/kb.asp?id=Q108167
七、驅動程序安裝程序無法安裝設備驅動程序
症狀
安裝了重要更新程序 QFE 814033 或 Microsoft Windows 2000 Server Service Pack 4 後,某些驅動程序安裝程序無法在 Microsoft Windows 2000 上工作。安裝操作無法成功完成,同時您會收到一條不正確的錯誤信息,告訴您沒有可用於該設備的驅動程序。%WINDIR%\Setupapi.log 報告此設備沒有兼容的驅動程序。
原因
如果默認的 INF 目錄中已經存在要安裝的驅動程序的 .inf 文件,就會出現此問題。然而,要安裝的驅動程序並非 當前已安裝的設備驅動程序。
您嘗試安裝的新驅動程序的 .inf 文件可能已經由 SetupCopyOEMInf() 函數放置在 INF 目錄中,或者這個驅動程序以前曾被安裝又被刪除,留下了 .inf 文件。在這種情況下,() 函數將無法成功運行,同時將錯誤地給出設備沒有驅動程序這條錯誤信息。
解決方案
從 Microsoft 下載中心可以下載以下文件:
Windows2000-KB822831-x86-CHS.exe 程序包。 發布日期:2003 年 8 月 13 日
八、「IKERNEL.EXE - 應用程序錯誤: 無法讀取內存」的解決方法
請瀏覽http://java.com/zh/download/help/ikernel.jsp
九、安裝過程中出現提示:安裝設備時,出現了一個錯誤。名稱已用作服務名或服務顯示名。
打開注冊表編輯器,找到下面主鍵
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{6bdd1fc6-810f-11d0-bec7-08002be2092f}
找找與你包含你的掃描儀型號的鍵值,找到後把它刪除掉試試,如果還不行再找HEEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\,看下面有沒有你的掃描儀型號的鍵值,同樣,找到後刪除掉,如果還不行,重新安裝你的操作系統吧
十、出現「掃描儀較准中,請稍候」,然後死機,掃描頭不走的問題解決方法
掃描儀的自動鎖沒有被完全壓下去,此時您應該重起計算機(如果計算機已經死機的話),將掃描儀放置比較平的桌面或找一小塊比較硬的薄片墊在自動鎖下方,然後重新掃描!
十一、 在WIN2003系統下按下面的方法安裝:
1、將光碟放入光碟機,不使用自動開啟的窗口,將其關掉。
2、在我的電腦里打開光碟目錄(在光碟上單擊滑鼠右鍵選打開,否則雙擊有可能還是自動運行)
3、找到setup.exe或者install.exe文件,注意是掃描儀驅動安裝文件,不是主目錄文件。也就是說,本身打開該文件是可以彈出單一的安裝掃描儀驅動的哪個文件。
4、在該文件上點滑鼠右鍵選擇「屬性」,切換到「兼容性」一項,在兼容模式中打勾並選擇windows2000。確定退出。
5、雙擊該文件安裝掃描儀驅動,以後步驟和以前在windows2000、XP下一樣。
6、正常啟動後就可以掃描了。
十二、電源適配器容易壞的問題
在國家規定的3C標准中要求電源適配器要帶有溫度、電流保護,以保護電流或電壓過大時對設備的損壞,在方正2003年3月以後生產的機器中都是使用的通過3C了的電源適配器,此類電源適配器一般的溫度控制上限是115度,在一般情況下是不會出現問題的,但是在實際使用中卻出現很多溫度過高導致電源適配器壞掉的情況,我們通過了很長一段時間的調查和發現才找到了原因有幾個方面:
1、某些地區的電壓不穩定,無法提供標準的220V,致使電源適配器工作時電流要比額定時高,導致發熱量過大。
2、用戶的電源適配器放置的位置,一些用戶電腦的外設比較多,都是通過電源適配器供電,而這些電源適配器大多都放在一個接線板上,在加上通風不是很好,導致局部急速溫度急速上升,當一個電源適配器單獨工作時溫度才50度左右,而4個放在一起的時候,1小時內溫度可以達到100度,如果加上不通風,局部的溫度是很高的。
針對上面的情況,我們對電源適配器的設計做了更改,以適合家庭的工作環境,並且對我們的掃描儀的電源適配器提供1年質保,只要您的電源出現的問題,您就可以憑購機發票在當地的維修站進行更換。您在使用時注意幾點:
1、在不使用掃描儀的時候將電源適配器從插座上拔下,因為部分電源適配器是線圈式的,只要接上電就開始工作。
2、將電源適配器放置比較通風的地方,盡量不要將大量的電源適配器放置同一個接線板上。
⑶ java中怎麼調用掃描儀
1。先搞清楚要在哪種類型的程序中調用掃描儀
如果開發的程序是java application或者基於 swing的程序,可以算作是單機或者 c/s架構的程序,applet和java fx技術也可以這么算,因為都是直接通過java程序去操控掃描儀設備。
如果是基於瀏覽器的應用,即b/s架構的程序,掃描圖像的工作是在客戶端完成的,這種情況下Java程序其實是接收和保存掃描儀讀取的圖像結果,並不需要直接的控制掃描儀工作,這一點上和c/s架構的程序有本質的區別。
2。架構與技術應用
2.1 c/s架構程序的掃描儀調用
c/s架構需要通過java代碼直接操控掃描儀設備,java語言本身被設計為跨o/s平台,對特定平台的硬體操控能力有限,因此需要藉助外部技術實現掃描儀控制調用,可以通過jni(java原生應用程序介面) 技術去實現掃描儀調用,具體的細節實現就是jni中定義掃描儀操作方法,如scan()等方法,然後使用javah生成c語言的.h頭文件,然後使用vc等編程語言去實現jni介面方法。
在windows平台和mac平台上面,操作掃描儀都可以通過twain協議
總之c/s架構的java程序調用掃描儀通過jni+twain編程既可完成。
2.2 b/s架構程序的掃描儀調用
b/s架構的掃描儀調用在前面已經提到過,java程序實現上做的事情是接收掃描結果圖像數據 ,例如在struts2的 action中或者jsp/servlet等等程序中接收掃描儀圖像掃描結果,真實的客戶端掃描儀調用應該藉助客戶端技術去實現。
在Linux中的Mozilla瀏覽器中如何調用掃描儀掃描圖像呢?這個著實是個難題,需要做Mozilla的插件才可以,但是在windows平台有ActiveX技術供程序員使用,因此瀏覽器是在windows平台中的話藉助Activex技術即可擴展瀏覽器能力。
⑷ 驅動程序的通俗化解釋,怎麼解釋。
可以理解為操作硬體的介面
比如 你的程序需要發出一段音樂 那麼要調用音效卡來產生聲音 . 而windows負責操作這個音效卡時就需要調用音效卡的驅動程序. 當然了 WINDOWS 是自帶不少東西的驅動的. 當一些WINDOWS不自帶驅動的東西插電腦上時 比如掃描儀 那麼你的程序想調用掃描儀的時候 , 就需要啟動掃描儀這個硬體 . 但是 WINDOWS 並不能識別掃描儀 所以 就需要有一個用來給電腦看的說明書來告訴電腦掃描儀怎麼用的. 而這個說明書 就指驅動程序
JDBC驅動 只是上面的一種變通 因為不是操作硬體 , 但是 是為了給java提供一個操作資料庫的介面 . 所以也可以稱之為驅動程序.
⑸ Java中我理解的Scanner類的作用,各位高手看下有沒理解錯誤
Scanner類確認具體的某個對象後,就變為具體的某個掃描儀
這樣的想法是正確的,說明你已經有了面向對象的概念了
如Scanner a = new Scanner();()里的變數就是掃描儀要掃描的對象,且一定為字元串。
這個不太准確。所有的scanner構造方法都調用的是一個Readable的源(可以理解為你上面放入掃描儀的物)這個源不一定是字元串,可以是字元串,輸入流,信道,指定源等)。
還有一個Pattern.它是使用正則表達式來分析輸入源的內容(
⑹ JAVA怎麼獲取掃描儀器掃描的數據
每種OCR引擎提供了其各自的SDK,並且每種都有詳細的API使用說明。我曾經使用過文通(DLL,在VB中Declare)、Fujitsu(提供OCX控制項)、ReadIRIS(OCX,不過VB調用用問題,使用VC++重新封裝OK)。 簡單以FUjitsu為例:
1、工程中引用組件Fujistu TWIJOcr,將控制面板上出現的控制項TWIJOcr添加到Form中
2、Form_load時初始化詞典TWIJOcr1.CreateDictData
3、載入圖像(可使用Kodak Imaging控制項imgedit顯示圖像)
4、設置總頁、圖像對象,使用控制項方法RecogText識別,保存輸出結果等:
TWIJOcr1.TotalPage = 1
TWIJOcr1.ChangeCurrentPage 1, LoadPicture(inPict)
TWIJOcr1.RecogText
TWIJOcr1.SaveFileName = outText
TWIJOcr1.SaveFileType = 0
TWIJOcr1.SaveResult
⑺ java 怎樣自動調用富士通掃描儀
首先要了解介面、再看是否標準的硬體驅動、或廠商是否提供驅動。。。。。。。。。如果沒有JAVA的,就使用JNI調用
⑻ 怎樣用java調用掃描儀
下載一個jar包,放在lib目錄下面,然後再把這個jar加入到項目裡面就可以了,右鍵add as libary,就可以引用源代碼了
⑼ 用Java直接從掃描儀獲得掃描數據,然後上載到伺服器上,這樣的程序需要利用那些知識點(有關Java)
package e.ctgu.JTwacker;
import java.awt.BorderLayout;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JToolBar;
import javax.swing.SwingUtilities;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageDecoder;
import e.ctgu.twain.JTwain;
/*
這是顯示掃描圖片的frame
*/
public class JTwacker extends JFrame {
class JPEGPanel extends JPanel {
/** Image for the inner class
*/
protected BufferedImage mJPEGPanelBufferedImage;
/** Pnale to diaply the image
*/
public JPEGPanel() {
// no op
}
/** Sets the bufferedimage into the class
* @param bi BufferedImage
*/
public void setBufferedImage(BufferedImage bi) {
if (bi == null) {
return;
}
mJPEGPanelBufferedImage = bi;
Dimension d = new Dimension(mJPEGPanelBufferedImage.getWidth(this),
mJPEGPanelBufferedImage.getHeight(this));
setPreferredSize(d);
revalidate();
repaint();
}
/** Paints the component.
* @param g Graphics object used for the painting
*/
public void paintComponent(Graphics g) {
super.paintComponent(g);
Dimension d = getSize();
g.setColor(getBackground());
g.fillRect(0, 0, d.width, d.height);
if (mJPEGPanelBufferedImage != null) {
g.drawImage(mJPEGPanelBufferedImage, 0, 0, this);
}
}
}
protected JPEGPanel mJpegPanel;
protected BufferedImage mBufferedImage;
protected JComboBox mSourcesCombo;
protected JToolBar mToolBar;
/** Constructor
*/
public JTwacker() {
super("測試");
mJpegPanel = new JPEGPanel();
JScrollPane ps = new JScrollPane(mJpegPanel,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
getContentPane().add(ps, BorderLayout.CENTER);
WindowListener wndCloser = new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
};
addWindowListener(wndCloser);
mToolBar = new JToolBar("Twain");
mToolBar.setFloatable(false);
addButtons();
getContentPane().add(mToolBar, BorderLayout.NORTH);
setSize(800, 600);
/* Center the frame */
Dimension screenDim = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle frameDim = getBounds();
setLocation(
(screenDim.width - frameDim.width) / 2,
(screenDim.height - frameDim.height) / 2
);
setVisible(true);
}
protected void addButtons(){
JButton _ab = new JButton("掃描");
_ab.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
acquireImage();
}
});
mToolBar.add(_ab);
mToolBar.addSeparator();
if (e.ctgu.twain.JTwain.getInstance().isTwainAvailble()) {
String[] twainSources = JTwain.getInstance().getAvailableSources();
if (twainSources != null) {
mSourcesCombo = new JComboBox(twainSources);
} else {
mSourcesCombo = new JComboBox();
mSourcesCombo.addItem("<NONE AVAILABLE>");
}
} else {
mSourcesCombo = new JComboBox();
mSourcesCombo.addItem("<NONE AVAILABLE>");
}
mToolBar.add(mSourcesCombo);
}
protected void acquireImage() {
if (JTwain.getInstance().isTwainAvailble()){
if (mSourcesCombo.getItemCount() > 0 ){
String _source = (String)mSourcesCombo.getSelectedItem();
if (_source != null){
String _filename = JTwain.getInstance().acquire(_source);
System.out.println(_filename);
if (_filename != null && _filename.length() > 0) {
File fChoosen = new File(_filename);
// savetofile(fChoosen);
showImage(fChoosen);
} else {
System.out.println("哎呀,怎麼出錯了!");
}
} // end if
} // end if
} // end if
}
protected void showImage(final File file) {
if (file == null || !file.exists()) {
return;
}
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
Thread runner = new Thread() {
public void run() {
try {
FileInputStream in = new FileInputStream(file);
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(in);
mBufferedImage = decoder.decodeAsBufferedImage();
in.close();
SwingUtilities.invokeLater( new Runnable() {
public void run() {
reset();
}
});
}
catch (Exception ex) {
ex.printStackTrace();
}
setCursor(Cursor.getPredefinedCursor( Cursor.DEFAULT_CURSOR));
}
};
runner.start();
}
//把掃描得到的圖片保存為文件,然後上傳到伺服器或保存到資料庫中
protected void savetofile(final File file) {
try {
File mfile=new File("c:\\dd.jpg");
if (mfile.exists()) {
mfile.delete();
}else {
file.renameTo(mfile);
}
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
protected void reset() {
if (mBufferedImage != null) {
mJpegPanel.setBufferedImage(mBufferedImage);
}
}
public static void main(String argv[]) {
new JTwacker();
}
}
-------------------------
package e.ctgu.twain;
/*
這是調用動態鏈接庫的類
*/
public class JTwain {
private static final JTwain mInstance = new JTwain();
protected final String DLL_NAME = "jtwain";
private JTwain() {
initLib();
}
public static JTwain getInstance(){
return mInstance;
}
public native boolean isTwainAvailble();
public native String[] getAvailableSources();
public native String acquire();
public native String acquire(String sourceName);
private void initLib(){
try {
System.loadLibrary(DLL_NAME);
}catch(Exception e) {
e.printStackTrace();
}
finally {
// System.out.println("Loading : " + DLL_NAME + ".dll");
}
}
}