java 扫描系统_java扫描仪上传文件

本文探讨了如何在Java项目中实现从扫描仪扫描文件并直接上传至服务器的功能。客户希望避免通过CKfinder选择本地图片上传,而是通过扫描仪连接进行上传。文章提到了一个HTML文档,可能用于控制扫描参数,包括像素类型、分辨率、纸张供应等。作者遇到了如何利用提供的HTML和文档来实现扫描功能的问题,目前正寻求解决方案。
摘要由CSDN通过智能技术生成

问题:

项目中有一个功能,原来是用ckfinder做的,可以选择本地图片上传至服务器,然后将服务器的图片显示在浏览器中,并可以将图片地址保存到数据库;现在客户觉得麻烦,提出连接扫描仪扫描后直接上传至服务器,并在浏览器上显示,如何实现 ,有没有大神做过的?

这是客户给我的扫描仪文档

b3801ef0104330e84f28b3418e0ef1e7.png

能用的就是这个html吧

58795e6588fd4802aaa0a8ef8851577e.png

我一开始以为是用jni驱动dll文件,但是我老大说直接可以用文档里的东西,现在老大出差去了,没辙了

这是那个html的源代码

FHK Scan Control Test

div#parameters{

width:450px;

float:left;

}

div#results{width:450px; }

h3,h4{margin-left:5px}

h4{margin-bottom:3px}

td{background-color:#CCEEFF;

padding:9px;

}

textarea{

background-color:#CCEEFF;

border-style:groove;

border-width:2px;

}

functionselectScanner()

{

varrtn = fhkScan.SelectSource(0);

if(rtn == -1)

{

alert("Select scanner error, error code = "+ fhkScan.ErrorCode);

}

}

functionInitSettings()

{

fhkScan.FileName = document.getElementById("scanPath").value;

varpixelType = 0;

varrdbPixelType = document.getElementsByName("PixelType");

for(vari = 0; i < rdbPixelType.length; i++)

{

if(rdbPixelType[i].checked)

{

pixelType = rdbPixelType[i].value;

break;

}

}

if(pixelType == 0)

{

// Scan to Black & White

fhkScan.PixelType = 0;// 0 - Black & White, 1 - Grayscale, 2 - RGB Color

fhkScan.FileType = 1;// 0 - BMP, 1 - TIFF, 2 - Multipage TIFF, 3 - JPEG

fhkScan.CompressionType = 4;// 0 - No compress, 4 - CCITT G4 (only for B&W), 5 - JPEG

}

else

{

// Scan to Gray or Color

fhkScan.PixelType = pixelType;// 0 - Black & White, 1 - Grayscale, 2 - RGB Color

fhkScan.FileType = 3;// 0 - BMP, 1 - TIFF, 2 - Multipage TIFF, 3 - JPEG

fhkScan.JPGQuality = 2;// JPEG data compression level, 0 (small file size) ~ 6 (large file size)

}

varresolution = 0;

varrdbResolution = document.getElementsByName("Resolution");

for(vari = 0; i < rdbResolution.length; i++)

{

if(rdbResolution[i].checked)

{

resolution = rdbResolution[i].value;

break;

}

}

fhkScan.Resolution = resolution;// 0 - 200 dpi, 1 - 240 dpi, 2 - 300 dpi, 3 - 400 dpi, 4 - 500 dpi, 5 - 600 dpi

varpaperSupply = 2;

varrdbPaperSupply = document.getElementsByName("PaperSupply");

for(vari = 0; i < rdbPaperSupply.length; i++)

{

if(rdbPaperSupply[i].checked)

{

paperSupply = rdbPaperSupply[i].value;

break;

}

}

fhkScan.PaperSupply = paperSupply;// 1 - ADF front, 2 - ADF double, 3 - ADF back

varscanRotate = 0;

varrdbScanRotate = document.getElementsByName("ScanRotate");

for(vari = 0; i < rdbScanRotate.length; i++)

{

if(rdbScanRotate[i].checked)

{

scanRotate = rdbScanRotate[i].value;

break;

}

}

fhkScan.ScanRotate = scanRotate;// 0 - None, 1 - 90 degrees, 2 - 180 degrees, 3 - 270 degrees, 4 - Automatic

varchkSkipWhitePage = document.getElementById("SkipWhitePage");

if(chkSkipWhitePage.checked)

{

fhkScan.SkipWhitePage = 6;// 0 - Do not skip, 1~15 - the ratio of black dots in the white page

}

else

{

fhkScan.SkipWhitePage = 0;// 0 - Do not skip, 1~15 - the ratio of black dots in the white page

}

varchkShowSourceUI = document.getElementById("ShowSourceUI");

if(chkShowSourceUI.checked)

{

fhkScan.ShowSourceUI =true;// true - Display the scanner source UI, false - Do not display

}

else

{

fhkScan.ShowSourceUI =false;// true - Display the scanner source UI, false - Do not display

}

varchkPromptOverwrite = document.getElementById("PromptOverwrite");

if(chkPromptOverwrite.checked)

{

fhkScan.Overwrite = 2;

}

else

{

fhkScan.Overwrite = 1;

}

fhkScan.ScanTo = 0;// 0 - to File, 1 - to DIB, 2 - to Memory, Suggest to File

fhkScan.ScanCount = -1;// Number of pages to scan, -1 - all pages on ADF

fhkScan.DetectPageSize = 2;

fhkScan.SourceCurrentScan = 0;

}

functionstartScan()

{

InitSettings();

varrtn = fhkScan.OpenScanner(0);

if(rtn == -1)

{

alert("Open scanner error, error code = "+ fhkScan.ErrorCode);

return;

}

rtn = fhkScan.StartScan(0);

if(rtn == -1)

{

alert("Start scan error, error code = "+ fhkScan.ErrorCode);

}

fhkScan.CloseScanner(0);

}

functionOnScanToFileEvent(scanFilePath)

{

vartxtResults = document.getElementById("result");

varstr = txtResults.value;

str += scanFilePath;

str +="\r\n";

txtResults.value = str;

txtResults.scrollTop = txtResults.scrollHeight;

}

OnScanToFileEvent(scanFilePath);

Scan Test

parameters
Scan Path:Pixel Type:

Black & White

Grayscale

RGB Color

Resolution:

200 dpi

240 dpi

300 dpi

400 dpi

500 dpi

600 dpi

Paper Supply:

ADF Front

ADF Double

ADF Back

Scan Rotate:

None

90 degrees

180 degrees

270 degrees

Automatic

Others:

Skip White Page

Show Source UI

Prompt When Overwrite

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值