此为demo项目代码下载地址,以及捷宇的sdk

https://download.csdn.net/download/heqinghua217/10891291

百度网盘中放了ocx安装的exe文件(百度网盘中也包含了csdn中的附件)

https://pan.baidu.com/s/1fA7jeiqKd6ZdpNZHsKkngA

此demo主要用于测试高拍仪

高拍仪捷宇科技的, 版本是D系列

先安装驱动,以及捷宇自己的软件测试是否可以高拍,之后如果系统中ie界面需要高拍,那么需要安装《DoccameraOcx-ie运行的插件.zip》

安装完了之后,注册表会多一项内容 clsid:454C18E2-8B7D-43C6-8C17-B1825B49D7DE, 可以搜索454C18E2-8B7D-43C6-8C17-B1825B49D7DE 搜索的到

之后,就可以用index页面进行测试了。

ie注意得是大于等于ie8的版本,因为很多浏览器,你看他是ie8,或者ie10, f12调试模式可以看到,ie有两个模式
一个浏览器模式,一个文档模式,一般浏览器模式大家都是对的,文档模式有可能各不一样,有的是ie5,有的是ie6,要注意这点

上传功能需要引入lib中的三个jar,我的tomcat是6,jdk是1.7

(ps :其实重点是要学会如何根据sdk自己能会写出调用的方法来)

1、测试界面如下:

代码就不贴了,自己去看代码吧,就一个index.jsp,以及一个servlet,servlet主要用于上传附件,你们可以直接写一个,不需要参考,因为你们不可能是用servlet的,如果是struts,那么后台直接定义一个file ,然后getset之后就可以通过名称trackdata获取

2、servlet

package com.test;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.Date;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.commons.lang.time.DateFormatUtils;public class UploadServlet extends HttpServlet {// myFile属性用来封装上传的文件  , 这个名称是固定的,接口文档里写了,trackdataprivate File trackdata;/*trackdataContentType, trackdataFileName 这两个参数没有,可能需要自己封装*/// myFileContentType属性用来封装上传文件的类型  private String trackdataContentType;  // myFileFileName属性用来封装上传文件的文件名  private String trackdataFileName;  public File getTrackdata() {return trackdata;}public void setTrackdata(File trackdata) {this.trackdata = trackdata;}public String getTrackdataContentType() {return trackdataContentType;}public void setTrackdataContentType(String trackdataContentType) {this.trackdataContentType = trackdataContentType;}public String getTrackdataFileName() {return trackdataFileName;}public void setTrackdataFileName(String trackdataFileName) {this.trackdataFileName = trackdataFileName;}private static final long serialVersionUID = 1L;public UploadServlet() {super();}public void destroy() {super.destroy(); // Just puts "destroy" string in log// Put your code here}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {uploadFile(request);response.setContentType("text/html");PrintWriter out = response.getWriter();out.print("true");out.flush();out.close();}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {uploadFile(request);response.setContentType("text/html");PrintWriter out = response.getWriter();out.print("true");out.flush();out.close();}public void init() throws ServletException {// Put your code here}/*** 格式化日期为指定格式的字符串* * @param date* @param pattern* @return*/public static String formatDate(Date date, String pattern) {String result = "";if (date != null) {if (pattern == null) {pattern = "yyyy-MM-dd";}result = DateFormatUtils.format(date, pattern);}return result;}/*** * @user 老何* @2019年1月2日 * @return*/public boolean uploadFile(HttpServletRequest request){try {InputStream is = request.getInputStream();//trackdataFileName = request.getParameter("trackdataFileName");//基于myFile创建一个文件输入流  //InputStream is = new FileInputStream(trackdata); // 设置上传文件目录  String uploadPath="d://upload//product";File toFileDir = new File(uploadPath);if(!toFileDir.exists()){toFileDir.mkdir();//如果路径不存在就先创建路径}String format = "heqh.pdf";//String format = trackdataFileName.substring(trackdataFileName.lastIndexOf("."));String fn = formatDate(new Date(), "yyyyMMddHHmmss");String dicPath ="//"+fn+format;// 设置目标文件  File toFile = new File(uploadPath+dicPath);  // 创建一个输出流  OutputStream os;os = new FileOutputStream(toFile);//设置缓存  byte[] buffer = new byte[1024];  int length = 0;  //读取myFile文件输出到toFile文件中  while ((length = is.read(buffer)) > 0) {  os.write(buffer, 0, length);  }  //关闭输入流  is.close();  //关闭输出流  os.close(); }catch (Exception e) {e.printStackTrace();return false;}return true;}}

3、index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String ctx = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>高拍仪测试界面</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><script type="text/javascript" src="js/jquery-1.8.3.js"></script><script type="text/javascript" src="js/jquery.easyui.min.js"></script><!--<link rel="stylesheet" type="text/css" href="styles.css">--><script>// ------------------------------------- 高拍仪相关操作 ------------------------------ //     var myfilename, files = [], currDir = '', fName=0;/** 打开扫描仪 --> 开始 */function Start1_onclick(){        $("#captrue").show();setTimeout(function(){ xz('90');},200);}/** 旋转 --> 右转,左转,翻转(90,180,270)  */function xz(jd){//方向旋转captrue.vSetResolution(5);captrue.bStopPlay();     var str = captrue.bStartPlayRotate (jd);captrue.bSetMode(3);//自动描边captrue.bStartPlay();captrue.vSetImageQuality(50);//图片保存的压缩率(区间:1-100,默认值:70)captrue.vSetSkewFlag(true);//自动矫正标志(TRUE:矫正,FALSE:不矫正)captrue.vSetDelHBFlag(true);//黑边去除标志(TRUE:去除,FALSE:不去除)captrue.bSetMode(1);captrue.bSetImageArea (200,200,9800,9800);}/** 开始拍照 --> 拍照(原单张拍照) */function cszp(){getFileName();captrue.bSaveJPG(currDir ,myfilename); }// 创建文件目录 currDir,并添加文件名到 filesfunction getFileName(){var myDate = new Date();var yy=myDate.getFullYear();   // 获取完整的年份(4位,1970-????)var mm=myDate.getMonth()+1;      //获取当前月份(0-11,0代表1月)var dd=myDate.getDate();       //获取当前日(1-31)var hh=myDate.getHours();      //获取当前小时数(0-23)var m=myDate.getMinutes();    //获取当前分钟数(0-59)var ss=myDate.getSeconds();    //获取当前秒数(0-59)var fileName=yy+""+mm+""+dd+""+hh+""+m+""+ss;//第一次上传创建一个新的目录,连拍的时候,如果有了, 就还在此目录, 当上传成功后,currDir清空,又重新生成目录if( currDir.length == 0 ) {currDir = "d:\\upload\\"+ fileName +"\\";captrue.bCreateDir(currDir);     // 创建目录}myfilename = ++fName;files.push(myfilename);}/** 上传 --> 上传  */function doUpload() {if(files.length == 0) {alert('您还没有拍摄照片');return;}proFile();jsUpload();}//生成pdf/*************************************************************************///BOOL bReNameFile(LPCTSTR toPath, LPCTSTR fromPath)/*************************************************************************//** 函数名称:bReNameFile* 功能描述:重命名文件或者目录* 输入参数:toPath——重命名后的文件或者目录的路径fromPath——重命名前的文件或者目录的路径* 输出参数:无* 返回值: TRUE——成功FALSE——失败* 例如: m_cap. bReNameFile ("D:\\ tif_New.tif", "D:\\ tif.tif"); */function proFile() {captrue.bSavePDFStart(currDir,'1');//开始保存pdf for(var aa=0; aa<files.length; aa++) {if( captrue.bReNameFile(currDir+"N"+(aa+1)+".jpg", currDir+(aa+1)+".jpg") ) {captrue.bAddPDFColorPage ( currDir+"N"+(aa+1)+".jpg", 0.525 ); //吧图片添加进入pdf,并设置像素}}captrue.bSavePDFEnd () ;//结束保存pdf}//如果上传失败,那再吧文件名修改回来function proFileB() {for(var aa=0; aa<files.length; aa++) {captrue.bReNameFile( currDir+(aa+1)+".jpg", currDir+"N"+(aa+1)+".jpg" )}}  function jsUpload(){if(files.length == 0) {alert('您还没有拍摄照片');return;}var f = currDir +'upload.pdf';if( captrue.bReNameFile(currDir+"upload.pdf", currDir+"1.pdf") ) {var flag = false;//第四个参数,有时候需要传全路径,即加上http://ip:端口/项目名,servlet不能加flag = captrue.bUpLoadImage(f, "127.0.0.1", "8080", "/gpy/servlet/UploadServlet");if(flag) {alert("上传成功!");captrue.bDeleteFile(currDir);currDir = ''; files = []; myfilename = ''; fName=0;} else {proFileB();alert('上传失败,请重新上传');}} else {proFileB();alert('pdf 转换失败,请重新上传');}}/** 预览 --> 预览  */function doView() {if(files.length == 0) {alert('您还没有拍摄照片')return;}captrue.bDispPath(currDir);}/** 参数设置  */function ParaSetPIN_onclick() {captrue.vSetCapturePin();captrue.bStartPlay();            // 显示主摄像头视频源}/** 设置曝光度  */function changeExposure(){var v = $('#bgd').val();if(v==''){return;}captrue.vSetExposure(v);//曝光相对值(区间:0-100)}/** 操作提醒 */function openSm(){$('#smDiv').show();$('#smIframe').attr('src','smsm.html');$('#smDiv').dialog({title:'扫描说明',width:640,height:520,modal:true,closed:true,buttons:[{text:'关闭',handler:function(){$('#smDiv').dialog('close');}}]});$('#smDiv').dialog('open');}</script></head><body><div region="east" border="false" split="true"  style="width: 1000px" ><table style="width: 100%;height: 95%" border="0" cellspacing="0" cellpadding="0"><tr><td width="350px"><table id="txsmTable"  contenteditable="true"></table></td><td><object classid="clsid:454C18E2-8B7D-43C6-8C17-B1825B49D7DE" id="captrue"  style = "width:100%;height:640px;" ></object></td><td width="150" valign="top" style="padding:10px 10px 0px 10px"><table width="100%" border="0" cellspacing="0" cellpadding="0" style="text-align:center;color:#0563ae; font-size:14px; font-weight:bolder;background-color: #CCCCCC;"><tr><td ><img title="打开扫描仪" src="data:images//fxicon1.png" name="picture"  border="0" align="middle" onMouseDown="this.src='images//fxicon1-1.png'" onMouseUp="this.src='images//fxicon1.png'" draggable="false" onClick="Start1_onclick()"/></td><td><img title="开始拍照" onclick="cszp()" src="data:images//funicon1-1.png" name="picture"  border="0" align="middle" onMouseDown="this.src='images//funicon1.png'" onMouseUp="this.src='images//funicon1-1.png'" draggable="false"/></td></tr><tr><td height="25" title="打开扫描仪">开始</td><td onclick="cszp()" title="扫描当前页">拍照</td></tr><tr><td height="52"><img onclick="xz('0');"  src="data:images//fxicon2.png" name="picture"  border="0" align="middle" onMouseDown="this.src='images//fxicon2-1.png'" onMouseUp="this.src='images//fxicon2.png'" draggable="false"/></td><td><%--<img onclick="cszplp();" title="可使用键盘'空格键'进行操作" src="data:images//funicon2-1.png" name="picture"  border="0" align="middle" onMouseDown="this.src='images//funicon2.png'" onMouseUp="this.src='images//funicon2-1.png'" draggable="false"/>--%><img onclick="doUpload();" title="可使用键盘'空格键'进行操作" src="data:images//funicon2-1.png" name="picture"  border="0" align="middle" onMouseDown="this.src='images//funicon2.png'" onMouseUp="this.src='images//funicon2-1.png'" draggable="false"/></td></tr><tr><td onclick="xz('0');"  height="25">右转</td><%--<td onclick="cszplp();" title="可使用键盘'空格键'进行操作">彩色连拍</td>--%><td onclick="doUpload();" title="可使用键盘'空格键'进行操作">上传</td></tr><tr><td height="49"><img onclick="xz('180');"  src="data:images//fxicon3.png" name="picture"  border="0" align="middle" onMouseDown="this.src='images//fxicon3-1.png'" onMouseUp="this.src='images//fxicon3.png'" draggable="false"/></td><td><%--<img title="可使用键盘'回车'进行上传操作" onclick="stoplp();" src="data:images//funicon4-1.png" name="picture"  border="0" align="middle" onMouseDown="this.src='images//funicon4.png'" onMouseUp="this.src='images//funicon4-1.png'" draggable="false"/>--%><img title="预览" onclick="doView();" src="data:images//funicon4-1.png" name="picture"  border="0" align="middle" onMouseDown="this.src='images//funicon4.png'" onMouseUp="this.src='images//funicon4-1.png'" draggable="false"/></td></tr><tr><td height="25" onclick="xz('180');" >左转</td><%--<td onclick="stoplp();" title="可使用键盘'回车'进行上传操作">连拍完成</td>--%><td onclick="doView();" title="预览">预览</td></tr><tr><td height="49"><img onclick="xz('270');"  src="data:images//fxicon4.png" name="picture"  border="0" align="middle" onMouseDown="this.src='images//fxicon4-1.png'" onMouseUp="this.src='images//fxicon4.png'" draggable="false"/></td><td><img title="设置分辨率" src="data:images//funicon5-1.png" draggable="false" onClick="ParaSetPIN_onclick()"/></td></tr><tr><td height="25" onclick="xz('270');" >翻转</td><td title="设置分辨率">参数设置</td></tr><tr><td title="扫描操作以及注意事项说明"><img onclick="openSm()" src="data:images//icontis-1.png" draggable="false" /></td><td height="49"><img title="设置曝光度0-100" src="data:images//funicon5-1.png" draggable="false" onClick="changeExposure()"/></td></tr><tr><td title="扫描操作以及注意事项说明">操作提醒</td><td height="25" title="设置曝光度0-100">设置曝光度<br/><input type="text" size="5" id="bgd"></td></tr></table></td></tr></table></div></body>
</html>

捷宇高拍仪D系列 javaweb集成进项目相关推荐

  1. 思源高拍仪万能驱动_动态展示和教学 良田YL1050AF高拍仪评测

    高拍仪的一大特点就是灵活多样,通过不同的工业设计用于文件扫描.视频展示.多媒体教学.信息采集.体温监测等等.良田最新款YL1050AF教学高拍仪通过巧妙的设计和专业的软件,为教学.培训.实时展示等应用 ...

  2. 串口屏应用案例_大彩串口屏在高拍仪上的应用方案

    一.概况 高拍仪也有人称为速拍仪,或有的教育机构称之为备课王.一般来说,我们称之为高拍仪.是最新研发出来的一款超便携低碳办公用品,也是一款办公领域革新性产品,它具有折叠式的超便捷设计,能完成一秒钟高速 ...

  3. 良田高拍仪集成vue项目

    一.硬件及开发包说明: 产品型号为良田高拍仪S1800A3,集成b/s系统,适用现代浏览器,图片使用BASE64数据.开发包的bin文件下的video.flt文件需要和高拍仪型号的硬件id对应,这个可 ...

  4. 维山VS073高拍仪技术规格说明书

    一.产品介绍 婚姻登记专用设备实现自动录入当事人个人生物特征信息(人脸.指纹) .信息采集:实现电子签名.文件档案电子化(高拍仪),实现婚姻登记高效精准服务. 二.技术参数 技 术 参 数 01  文 ...

  5. 方正高拍仪文件上传到服务器,高拍仪拍摄文件后如何进行文字识别?本地文件能否导入高拍仪进行识别?...

    原标题:高拍仪拍摄文件后如何进行文字识别?本地文件能否导入高拍仪进行识别? 日常办公和学习中,常常有许多资料需要进行二次编辑,但受限于文件是纸质文档或者图片文件,无法直接进行二次编辑,只能把相关信息手 ...

  6. web端 刷卡器_web工程集成身份证读卡器,高拍仪

    接到个模块,要在已有的web工程里集成身份证读卡器,高拍仪等硬件.一时摸不着头脑,网上搜了下,发现都写的高端到看不懂.后来找了个已成功集成的web工程研究了下,发现弱爆了.这种硬件设备都已经做好了对w ...

  7. 高拍仪用法及部分问题处理

    一.接入项目并使用 1.1 安装高拍仪驱动 下载地址: https://www.eloam.cn/download/list/1 安装完成之后,打开驱动程序,即可看到接入的高拍仪的图像. 1.2 网页 ...

  8. 在网页中调用摄像头实现拍照上传 - 高拍仪二次开发

    在网页中调用摄像头实现拍照上传 高拍仪二次开发     在一些公共部门的办事处,比如银行.护照办理中心.税务等,我们可能会注意到办公桌上摆着这样一台机器.办公人员用它拍摄各种证件.文件.表格,有时候还 ...

  9. c++ 二次开发 良田高拍仪_在网页中调用摄像头实现拍照上传 - 高拍仪二次开发...

    来源于  https://blog.csdn.net/weixin_40659738/article/details/78252562 在网页中调用摄像头实现拍照上传 高拍仪二次开发 在一些公共部门的 ...

  10. 项目开发 高拍仪 base64 格式上传图片笔记

    汉王高拍仪 base64 格式上传图片 功能:base64 上传图片 设备:汉王H650por 效果图如下 实现代码 下方接口代码页面 <html> <head> <ti ...

最新文章

  1. 我也能做CTO之程序员职业规划
  2. jstl 处理字符串函数 substring spli等
  3. golang中的strings.Trim
  4. string 字符串中字符无效_JavaScript中的字符串(string)到底是什么?
  5. markdown 流程图_Markdown 进阶技能:用代码画流程图(编程零基础也适用)
  6. ubuntu18.04安装mysql8
  7. 20172332 2017-2018-2 《程序设计与数据结构》第七周学习总结
  8. 计算机小知识点GIF,计算机基础全部知识点 讲解.doc
  9. Java反序列化漏洞通用利用分析
  10. B00008 C++实现的大整数计算(一)
  11. 【转载】Java的接口和抽象类
  12. Flink catalog简单使用
  13. 基于51单片机的篮球记分牌设计
  14. ICCV 2021 | 2D和3D通用!港大提出PCRL:新医疗影像自监督SOTA!
  15. 团队项目开发“编码规范”之九:代码分析
  16. iOS底层系统:虚拟内存
  17. Java Swing实现仿win7计算器
  18. 中央民族大学计算机排名2015,2015年985大学排名排名汇总
  19. 淘宝API taobao.item.get 得到单个商品信息 返回信息字段
  20. 深入分析Parquet列式存储格式【转】

热门文章

  1. 破解无线网络密码-BT3如何使用3
  2. 查看Windows的激活到期时间、具体版本号等具体系统信息
  3. php 替换某个字符,php如何将指定字符串替换?
  4. Kali Linux学习入门
  5. [转] DevExpress GridView 排序状态下新增行不参与排序
  6. rainmeter 修正天气插件信息不准确 设置居住城市
  7. 5款cpu温度检测工具,让你时刻关注mac的工作情况!
  8. 计算机pc610台湾研华,IPC610-研华610工控机配置
  9. 哈工大计算机系统大作业——程序人生
  10. Android 混淆配置