当前位置: 首页 > news >正文

自适应单页网站模板wordpress文章会员

自适应单页网站模板,wordpress文章会员,事业单位网站备案,网站开发案例详解光盘下载打印机是最常见的办公设备了。一般情况下如果需要实现打印&#xff0c;可通过前端print.js包来完成。但是&#xff0c;如果要实现智能办公打印&#xff0c;就可以使用JNI技术、封装接口、远程调用实现完成。 导包 jacob&#xff1a;Java COM Bridge <dependency><g…

打印机是最常见的办公设备了。一般情况下如果需要实现打印,可通过前端print.js包来完成。但是,如果要实现智能办公打印,就可以使用JNI技术、封装接口、远程调用实现完成。

导包

jacob:Java COM Bridge

<dependency><groupId>net.sf.jacob-project</groupId><artifactId>jacob</artifactId><version>1.14.3</version>
</dependency>

下载:jacob-1.18-x64.dll

接口开发

service

/*** @Author lyonardo* @Description 打印* @Date 16:20 2020/1/20* @Param [filePath, startMsg, endMsg, cause, departId]* @return com.xxx.basic.response.ReturnData**/@Overridepublic ReturnData excelPrint(String filePath, Long startMsg, Long endMsg, String cause, Integer departId) {try {//下载驱动FileUtil.saveUrlAs(fileServerPath+"/file/", "jacob-1.18-x64.dll", "C:/Windows/System32", "GET");String excelName = "xx市中级人民法院办理减刑案件情况统计表";String outFilename = buildOutFilename(excelName,startMsg,endMsg);//判断文件是否已经生成String excelDownloadPath = "";if(FileUtils.directoryContains(new File("/rpcs/excel"), new File("/rpcs/excel/download"+"/"+outFilename))){excelDownloadPath = "/rpcs/excel/download"+"/"+outFilename;}else{CaseStatVo caseStatVo = getCaseStatVo(startMsg, endMsg, cause, departId);ExportUtils.excelWrite(fileServerPath, caseStatVo, filePath,outFilename, JodaTimeUtil.formatDate2ToString(startMsg, endMsg));excelDownloadPath = "/rpcs/excel/download"+"/"+outFilename;}//打印指定文件名文件Integer i = PrintUtil.printOfficeFile(excelDownloadPath);if (1 == i) return ReturnData.operateSuncess();} catch (IOException e) {e.printStackTrace();}return ReturnData.operateFail();}

PrintUtil封装

/*** @Author lyonardo* @Description Office打印* @Date 14:49 2019/9/23* @Param [filePath 文件路径]* @return boolean
**/
public static Integer printOfficeFile(String filePath) {String postfixString = FileUtil.getFilePathExtensions(filePath);if (postfixString.equalsIgnoreCase("xls")|| postfixString.equalsIgnoreCase("xlsx")) {/*** 功能:实现excel打印工作*/ComThread.InitSTA();ActiveXComponent xl = new ActiveXComponent("Excel.Application");try {// System.out.println("version=" +// xl.getProperty("Version"));// 不打开文档Dispatch.put(xl, "Visible", new Variant(false));Dispatch workbooks = xl.getProperty("Workbooks").toDispatch();// 打开文档Dispatch excel = Dispatch.call(workbooks, "Open",filePath).toDispatch();// 横向打印//     Dispatch currentSheet = Dispatch.get(excel, "ActiveSheet")//       .toDispatch();//     Dispatch pageSetup = Dispatch//       .get(currentSheet, "PageSetup").toDispatch();//     Dispatch.put(pageSetup, "Orientation", new Variant(2));//每张表都横向打印Dispatch sheets = Dispatch.get(excel, "Sheets").toDispatch();// 获得几个sheetint count = Dispatch.get(sheets, "Count").getInt();//     System.out.println(count);for (int j = 1; j <=count; j++) {Dispatch sheet = Dispatch.invoke(sheets, "Item",Dispatch.Get, new Object[] { new Integer(j) },new int[1]).toDispatch();Dispatch pageSetup = Dispatch.get(sheet, "PageSetup").toDispatch();Dispatch.put(pageSetup, "Orientation", new Variant(2));Dispatch.call(sheet, "PrintOut");}// 开始打印if (excel != null) {//Dispatch.call(excel, "PrintOut");//增加以下三行代码解决文件无法删除bugDispatch.call(excel, "save");Dispatch.call(excel,  "Close" ,  new  Variant(true));excel=null;}xl.invoke("Quit", new Variant[] {});xl=null;return 1;} catch (Exception e) {e.printStackTrace();return 0;} finally {// 始终释放资源ComThread.Release();}}else if (postfixString.equalsIgnoreCase("doc")|| postfixString.equalsIgnoreCase("docx")) {ComThread.InitSTA();ActiveXComponent wd = new ActiveXComponent("Word.Application");try {// 不打开文档Dispatch.put(wd, "Visible", new Variant(false));Dispatch document = wd.getProperty("Documents").toDispatch();// 打开文档Dispatch doc = Dispatch.invoke(document, "Open",Dispatch.Method, new Object[] { filePath },new int[1]).toDispatch();// 开始打印if (doc != null) {Dispatch.call(doc, "PrintOut");Dispatch.call(doc, "save");Dispatch.call(doc,  "Close" ,  new  Variant(true));doc=null;}wd.invoke("Quit", new Variant[] {});wd=null;return 1;} catch (Exception e) {e.printStackTrace();return 0;} finally {// 始终释放资源ComThread.Release();}}else {return 0;}
}

测试

  @Testpublic void test(){String filePath  = "C:/Users/Administrator/Desktop/xx市中级人民法院办理减刑案件情况统计表.xlsx";//String printerName = "FX DocuPrint M115 b";//打印机名包含字串PrintUtil.printOfficeFile(filePath);}
http://www.yayakq.cn/news/441974/

相关文章:

  • 具有品牌的网站建设个体营业执照网上年报
  • 重庆云阳网站建设电商商城开发
  • 昆明住房和城乡建设部网站自己开发的app软件怎么申请专利
  • 网站模板购买自助网站建设系统软件
  • 餐饮招商加盟网站建设贵阳网站制作服务商
  • 合肥专业网站优化费用国际站wap端流量
  • 安徽省建设工程招投标信息网免费网站优化怎么做
  • 购物网站的商品展示模块河南郑州建设网站制作
  • 长沙百度搜索排名优化北京seo排名公司
  • 理财公司网站模板下载站长交易网
  • 微信网站域名上海专业微信网站开发公司
  • 网站空间速度快wordpress定时器
  • 网站开发的项目开发计划企业推广方式推荐隐迅推
  • 广州建设网站首页东莞网站的建设
  • 网站无法访问电脑手机网站首页
  • 长宁网站建设公司网络设计师证怎么考
  • 连云港商城网站开发设计中信建设有限责任公司钱三强
  • 360网站推广怎么做移动办公oa手机版
  • 青海工程建设云网站dede电影网站模板
  • 资讯网站的好处wordpress 刷新缓存
  • 做影视网站有什么风险美食鉴赏国内网站
  • 外贸网建站中国机械加工外协网最新订单
  • 网站开发软件设计文档模板网站做哪块简单
  • 网站建设有什么好建议wordpress搜索跳转
  • 开创云网站建设沈阳网站维护
  • 网站空间不够用怎么办南昌专业做网站公司哪家好
  • 免费网站制造中国十大热门网站
  • 淘宝客做的好的几个网站网站设计模式有哪些
  • 广东建设注册执业中心网站江苏靖江苏源建设有限公司网站
  • html5企业网站 源码头像制作免费模板