如何读取书生sep文档内容
1,项目背景
Word,Excel,PPT,PDF,这种文档的标准是公开的,所以呢,有很多方法可以打开文件,读取内容。例如:要打开各种office文档,可以使用POI jar包;要打开pdf文档,可以使用pdf box ;而且呢,这些工具非常多,还都是开源的,网上很多地方可以下载。即使不用这些工具,也可以使用微软的dll,照样可以工作。
而sep文件、gd文件,是国内一家公司,书生公司自己设计的,用于公文传输,所以设置了保密格式,没有公开文件标准。网上是没法找到读取的方案或者jar包的,要解决这个问题,必须找书生公司提供服务。解决问题的快慢,主要就是依靠书生公司了。
理想上,最好的办法是由书生公司提供一些jar包或者dll,可以在程序里调用,这样使用起来会非常容易。
目前呢,没有这么友好的接口,书生公司提供了几个网页。这样在批量使用的时候会比较麻烦,还需要自己设计程序去兼容,但是总比没有的好。
2,解决方案
书生阅读器可以打开sep、gd、gw格式的文件。然后我们现在需要的是,逆向过程,就是通过一个程序化的方法,批量执行,从sep文档里面提取出文本内容。
目前北京书生公司提供的解决方案,是2个网页,使用方法是,在插着U key的那台电脑上操作,加载书生套件里面的服务(套件提供一个api接口),然后选择目标sep文件,接着读取文本内容。
2.1,需要工具
win7 系统 + IE32位浏览器。(因为书生公司提供的插件只支持32位浏览器)
书生套件,200多M。
林果U盾。
2.2,执行步骤
1,设置IE浏览器,允许各种加载项。
2,打开U盾软件,插入U盾。
3,打开S_GetFileTxt.htm页面,允许加载项,加载activity控件。
4,选择目标sep文件和结果txt文件,开始执行。
备注:
1,公文一般指的是gw文档,那个是有密码的,我们这次不考虑gw。gd和sep都是不加密的,所以网页上不需要输入密码。但是要调用那个api,就需要使用ukey。
2,需要在安装了书生阅读器套件+Ukey的电脑上操作,单单安装书生阅读器是不行的,只有套件提供了读取文本内容的api服务。
3,之所以需要U盾,是因为书生套件在使用的时候,需要检测硬件,所以需要支持一个ukey。以后他们公司可能换成软授权,那就不用key了。
4,我们最终希望的结果是,有个小程序,在那台电脑上自动跑,不需要指定密码,就可以提取gd和sep文档的内容了。
2.3,技术原理
这些网页用IE打开以后,会提示我们安装两个控件,这个控件,就是书生套装里面的。
//启用书生服务
<OBJECT ID="SedOI" CLASSID="CLSID:567FF69D-56E3-11D6-81D1-00E04CE60E84" width="0" height="0"></OBJECT>//启用U盾管理器
<OBJECT classid="clsid:FF6F4132-FDE0-4F8E-B274-B312BE1FEBD5" id="USBKeyMGR" name="USBKeyMGR" height="0" width="0"></OBJECT>//TODO 还缺一个,连接硬件?
这是网页版本,核心代码其实就几行:
hHandle = SedOI.S_OPenFile(filename,pew.value);
s=SedOI.S_GetFileTxt(fj.value);
3,实验结果
我们按照书生公司的手册,一步一步执行下去,尝试了十几遍,均已失败而告终。于是邀请书生公司的工程师,远程帮忙调试,结果呢,还是失败了。
sep文档,在他们自己的开发环境里,是可以读取的。但是在我们的环境里,读取不了。
IE里面有个林果key的加载项,在他们那边会出现,在我们这里没有出现。具体原因,他们没找到。
最初以为,公司给我们提供的资料不全,少了一些加载项。深入沟通以后,发现其实不是,那个林果key的加载项,就是书生套件里面的。
4,疑难问题
1,按照书生公司的设置,设置了IE浏览器,但是没出现林果key加载项。
2,打开U顿管理器,插上U顿以后,还是提示“没有检测到硬件”之类的错误。
3,书生套件安装有问题,在windows笔记本上,安装过程中间提示“打印机xx”的,然后,估计有些东西没有安装上。在工作台式机上,没有提示这个问题,但是还是没法使用。
5,参考资料
书生API之SedOI的一个调试接口
https://www.iteye.com/blog/sheng-1342374
后缀为sep的文件是什么文件,如何读取
https://zhidao.baidu.com/question/1514369832914667060.html
SEP是啥文件扩展名?
https://zhidao.baidu.com/question/18189432.html
如何读取书生sep文档内容相关推荐
- php读取word文件并解析图片,PHP读取office word文档内容及图片
PHP读取word文档里的文字及图片,并保存 一.composer安装phpWord composer require phpoffice/phpword 二.phpWord 读取 docx 文档(注 ...
- 自动化提取书生(sep,gd等)文档内容,更新到hive
一,业务需求 我们单位用了很多书生公司的文件,例如sep,gd,gw等,需要提取这些文档的内容,插入到数据库,这样才能做内容检索. 我们这里总计有1.6万个sep文档(也有说法是6万个),4.5万个g ...
- php写入word文档内容,如何在PHP中读取和写入WORD文档
因为加密等原因,如果直接用FILE后者OPEN等函数读取WORD的话往往是乱码,原来要使用COM 这是我简单的一个读取并存储到新的WORD上的文件 // 建立一个指向新COM组件的索引 $word = ...
- java操作office和pdf文件java读取word,excel和pdf文档内容
在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下Java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...
- Python读取.txt文档内容/读取text文件内容
Python读取.txt文档内容/读取text文件内容; 读取txt后缀文件的内容的两种方式,简约易懂,复制粘贴即可食用,节约你宝贵的时间 文档全部数据一次性读取 # -*- coding: UTF- ...
- 读取DOC、DOCX、 XLS 、XLSX 、PDF 、PPTX 、TXT文档内容
读取DOC.DOCX. XLS .XLSX .PDF .PPTX .TXT文档内容 POM 依赖 <!-- https://mvnrepository.com/artifact/org.apac ...
- python读取doc文件_Linux 下Python 读取Word文档内容的方法
如果你是在Windows下, 直接使用win32com就可以进行读取word.doc文档和写入文档了. 但是在Linux下还真是麻烦, 一种方法是用OpenOffice的一个库来进行操作,那么意味这你 ...
- java读取word文档内容_合并多个Word文档内容,还在复制粘贴就out了,同事五秒轻松搞定...
在我们工作中,我们经常会编写多个Word文档内容,那么怎么将多个单个的Word文档合并到一个文档中,这就会显得有些难度. 如上图所示,我们需要将三个不同的案例,快速的汇总到我们的案例汇总表当中.许多朋 ...
- java获取内容为空_Java使用POI读取Word文档时如果文档内容为空时出现异常
异常如下: org.apache.poi.EmptyFileException: The supplied file was empty (zero bytes long) at org.apache ...
- java读取ofd文档内容_ofd电子文档内容分析工具(分析文档、签章和证书)
前言 ofd是国家文档标准,其对标的文档格式是pdf.ofd文档是容器格式文件,ofd其实就是压缩包.将ofd文件后缀改为.zip,解压后可看到文件包含的内容. ofd文件分析工具下载: ofd文件解 ...
最新文章
- 我的VC++——对话框中显示GIF格式的图片
- 【深度学习】如何将Voting和Stacking等应用到神经网络模型
- Pytorch实现U-net细胞分割
- 解析super-smack的smack文件
- 【Python基础知识-pycharm版】第七节-函数
- Java BigInteger类| isProbablePrime()方法与示例
- [转]VSS(Visual SourceSafe)使用入门
- 如何下载matlab,如何下载MATLAB?
- 4.27 前端开发日报
- 年底将至 怎么向国外客户开口催单 附话术模板
- OrCAD(一)简介、安装与基本使用
- 美女为什么美?????
- 第九周项目——穷举法之三色球
- C#合并多个pdf到一个pdf文件;不使用Aspose.pdf.dll,避免水印
- 查询网卡MAC地址.bat
- 基于微信小程序音乐播放器
- 名词性从句(1)——同位语从句(1)
- 计算机学校教师培训方案,教师培训电脑多媒体实施方案
- 洛谷:P2525 Uim的情人节礼物·其之壱
- SQL Server数据库系统和数据库简介