我正在尝试实现一个 Web 服务来触发服务器端的 OCR 操作。
客户端代码:
...
sy = belgeArsivle(testServisIstegi, ab);
...
private static ServisYaniti belgeArsivle(com.ocr.ws.ServiceRequest serviceRequest,com.ocr.ws.Document document) {
com.ocr.ws.ServiceRequest service = new com.ocr.ws.OCRArsivWSService();
com.ocr.ws.OCRArsivWS port = service.getOCRArsivWSPort();
return port.docArchive(serviceRequest, document);
}
当我在服务器端运行代码时没有问题。但是每当我从客户端调用 Web 服务方法时,我都会收到以下错误代码:
Exception: javax.xml.ws.soap.SOAPFaultException: Unable to load library 'libtesseract302': The specified module could not be found.
工作的服务器端代码是:
public static void main(String[] args) {
// TODO code application logic here
File imageFile = new File("...OCR\\testTurWithBarcodeScanned.png");
Tesseract instance = Tesseract.getInstance();
try {
String lang = "tur";
instance.setLanguage(lang);
String result = instance.doOCR(imageFile);
System.out.println(result);
// write in a file
try {
File file = new File("...MyOutputWithBarcode.txt");
BufferedWriter out = new BufferedWriter(new FileWriter(file));
out.write(result);
out.close();
} catch (IOException ex) {
}
} catch (TesseractException ep) {
System.err.println(ep.getMessage());
}
}
我知道这个错误代码是关于 Tesseract 库的。我将相应的 .dll 文件(liblept168 和 libtesseract302)放在客户端项目的文件夹下,添加了相应的库(jna、jai_imageio、ghost4j_0.3.1),在类路径中进行了必要的更改,但仍然出现此错误。
我在服务器端运行了一个测试代码,它工作正常。但是客户端代码不起作用。我是否需要在客户端进行一些额外的调整才能运行此 Web 服务?