相关文章推荐
心软的香菜  ·  python subprocess模块 - ...·  4 周前    · 
谦逊的电脑桌  ·  PropertyInfo 類別 ...·  9 月前    · 
快乐的小熊猫  ·  c# ...·  1 年前    · 

先说说背景
公司项目要实现一个网页截图,识别文字的功能
思路很简单,前端实现截图,并把图片发送给后台,后台通过调用某度的ocr识别,识别出来文字,然后返回给前段展示。
身为前端的我,技术点也就在实现截图了。

先在网上查了查网页截图的插件。发现清一色推荐html2canvas
原理就是通过canvas截图截全屏,再通过鼠标点击位置,移动距离,抬起位置,重新在新图片上,截图新的图片,并返回base64图片

然后用了这个方法,历尽艰辛又解决了 图片跨域问题,鼠标反向截图问题 ,以及新增一个可视化选框,最终返回一个base64的图片,本来沾沾自喜皆大欢喜的时候,发现一个致命问题。 html2canvas对屏幕分辨率较高的屏幕不兼容 ,出现了各种选取不准的问题。本来在大显示器上可以,但是只要换到比较新的笔记本上都不行,而且跟屏幕宽度没关系,反复测试发现只要屏幕分辨路大于两千就会出现这个问题。

最后无奈的放弃这个插件,推荐一款非常好用的插件:

kscreenshot

npm install kscreenshot --save
import kscreenshot from 'kscreenshot'
 <el-button type="warning" @click="ocrPic" icon="el-icon-camera">开始截图</el-button>
 ocrPic() {
      new kscreenshot({
        key: 65,
        needDownload: false,
        endCB(e) { //截图成功回调
          console.log(e)
        cancelCB(e) { //截图失败回调
          console.log(e)
      }).startScreenShot()

代码到这里结束
后期开发过过程中发现两个坑:
1.在线预览pdf文件时,无法截图(主要原因是ifream外部加载的资源会跨域)
2.图片旋转截图,图片位置会发生变化。
结论。楼主无法解决~~~

为了保证最佳的性能,SAP HANA把数据存储在内存中,然而,SAP HANA也使用持久化的存储系统来进行故障的恢复。由于SAP HANA中数据和日志(redo)存储在不同的分区中,因此数据库的备份也分为日志备份和数据备份两个部分,这两个部分的过程是相互独立的。只有真正的数据会被备份,数据库中未使用的空间不会被备份。注意这个目录以及日志备份目录$DIR_INSTANCE/backup/log与SAP HANA的日志区和数据区要放在不同的硬盘上,这样即使SAP HANA系统发生介质故障,也不会影响日志硬盘。 第一章 走近SAP HANA 摘要:拿到这本书的读者,相信您对SAP HANA已经有所耳闻。对于这样一个 基于内存计算创新型的高性能数据处理平台,我们应该如何去理解和应用?如何 将它融入到我们现有的企业信息化架构中去?在回答这些问题之前,我们首先需 要理解SAP HANA到底是什么,它所倡导的内存计算是如何给企业带来价值,SAP HANA对于企业和SAP公司自身来说的技术路线图,以及SA 从HANA本质来讲大家都知道,就是一个数据库,和Oracle,SQL Server 没啥本质的区别,内存计算、列式存储也不是啥新玩意,所以学习HANA和学习一个新的数据库从这个角度看也非常类似,当然HANA有其非常独特的特性(其实哪个数据库没有),其中最重要最本质而且未来会一直延续的特性就是HANASAP其他产品之间千丝万缕的联系,这一点对学习HANA的人而言会存在一定的挑战,当然挑战就意味着机会。 HANA的学习路线(roadmap)也可以从其共性和特性出发来设计,下面只是个人的一些设想,仅供参考 SAP HANA DataBase核心有五部分组成: Index Server, Name Server, Statistics Server, Preprocessor Server and XS Engine. 另外还包括daemon,scriptServer,appserver, remotesupportdaemon,R 和sapstartsrv. 您可以同通过SAP HANA Stu 这里所谓的分布式系统是指CI和DB各处不同的机器上,本文描述的处理方式同样适用于HA状态下的情形,因为HA状态下CI和DB也肯定是两个不同的逻辑主机名。 DB13排期,结果运行失败,报以下错误。Job startedStep 001 started (program RSDBAJOB, variant &0000000000000, user ID BASIS)No applicati 2015.04.08 01:28:03 作业已开始 00 516 S2015.04.08 01:28:03 步骤 001 已开始(程序 RSDBAJOB,变式 &00000000... (2)进入结果屏幕,选择状态为"已释放"的Job(只有已释放的Job才能被修改或删除),点击菜单栏上的"作业",即可从下拉菜单中选择"更改"/"删除"对Job进行更改或删除。(1)输入作业名称,作业类(优先级,默认C),状态(默认为:已计划),目标(目标主机,默认当前服务器,可空)。(2)点击"步骤",进入下一操作界面,输入需要执行的程序名称,以及对应的参数变式(如果有的话)。(4)点击返回,进入下一操作界面,点击"开始条件",出现设置Job执行时间和周期的界面。T-CODE:SM36 定义后台JOB。.. SAP HANA SQL系列一:常用数据类型数据类型日期时间类型数字类型SMALLINTINTEGERBIGINTDECIMAL(精度,小数位数)或 DEC(p, s)SMALLDECIMALREALDOUBLEFLOAT( n )字符类型VARCHARNVARCHARALPHANUMSHORTTEXT二进制类型VARBINARY大对象(LOB)类型LOBBLOBCLOBNCLOBTEXTLength(n)LIKE SAP HANA支持8种类型的SQL数据类型,这取决于你必须在列中存储的数据类型。 Check out this SDN blog if you plan to write HANA Certification exam http://scn.sap.com/community/hana-in-memory/blog/2012/08/27/my-experience-on-hana-certification 日前,Oracle总裁埃里森(Ellison),惹出不实言论,他在Oracle Open World上声称:" SAP HANA"规模太小,不及Exadata X3。声称HANA只有不到最大0.5TB的内存,而Exadata X3可以达到26TB。 这个不实言论,马上被SAP反驳,事实上,SAP HANA已经上线的系统,最大内存已经达到100TB,甚至可以扩至250TB。 真是冤家路窄。大规模内存...