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文档内容相关推荐

  1. php读取word文件并解析图片,PHP读取office word文档内容及图片

    PHP读取word文档里的文字及图片,并保存 一.composer安装phpWord composer require phpoffice/phpword 二.phpWord 读取 docx 文档(注 ...

  2. 自动化提取书生(sep,gd等)文档内容,更新到hive

    一,业务需求 我们单位用了很多书生公司的文件,例如sep,gd,gw等,需要提取这些文档的内容,插入到数据库,这样才能做内容检索. 我们这里总计有1.6万个sep文档(也有说法是6万个),4.5万个g ...

  3. php写入word文档内容,如何在PHP中读取和写入WORD文档

    因为加密等原因,如果直接用FILE后者OPEN等函数读取WORD的话往往是乱码,原来要使用COM 这是我简单的一个读取并存储到新的WORD上的文件 // 建立一个指向新COM组件的索引 $word = ...

  4. java操作office和pdf文件java读取word,excel和pdf文档内容

    在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下Java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...

  5. Python读取.txt文档内容/读取text文件内容

    Python读取.txt文档内容/读取text文件内容; 读取txt后缀文件的内容的两种方式,简约易懂,复制粘贴即可食用,节约你宝贵的时间 文档全部数据一次性读取 # -*- coding: UTF- ...

  6. 读取DOC、DOCX、 XLS 、XLSX 、PDF 、PPTX 、TXT文档内容

    读取DOC.DOCX. XLS .XLSX .PDF .PPTX .TXT文档内容 POM 依赖 <!-- https://mvnrepository.com/artifact/org.apac ...

  7. python读取doc文件_Linux 下Python 读取Word文档内容的方法

    如果你是在Windows下, 直接使用win32com就可以进行读取word.doc文档和写入文档了. 但是在Linux下还真是麻烦, 一种方法是用OpenOffice的一个库来进行操作,那么意味这你 ...

  8. java读取word文档内容_合并多个Word文档内容,还在复制粘贴就out了,同事五秒轻松搞定...

    在我们工作中,我们经常会编写多个Word文档内容,那么怎么将多个单个的Word文档合并到一个文档中,这就会显得有些难度. 如上图所示,我们需要将三个不同的案例,快速的汇总到我们的案例汇总表当中.许多朋 ...

  9. java获取内容为空_Java使用POI读取Word文档时如果文档内容为空时出现异常

    异常如下: org.apache.poi.EmptyFileException: The supplied file was empty (zero bytes long) at org.apache ...

  10. java读取ofd文档内容_ofd电子文档内容分析工具(分析文档、签章和证书)

    前言 ofd是国家文档标准,其对标的文档格式是pdf.ofd文档是容器格式文件,ofd其实就是压缩包.将ofd文件后缀改为.zip,解压后可看到文件包含的内容. ofd文件分析工具下载: ofd文件解 ...

最新文章

  1. 我的VC++——对话框中显示GIF格式的图片
  2. 【深度学习】如何将Voting和Stacking等应用到神经网络模型
  3. Pytorch实现U-net细胞分割
  4. 解析super-smack的smack文件
  5. 【Python基础知识-pycharm版】第七节-函数
  6. Java BigInteger类| isProbablePrime()方法与示例
  7. [转]VSS(Visual SourceSafe)使用入门
  8. 如何下载matlab,如何下载MATLAB?
  9. 4.27 前端开发日报
  10. 年底将至 怎么向国外客户开口催单 附话术模板
  11. OrCAD(一)简介、安装与基本使用
  12. 美女为什么美?????
  13. 第九周项目——穷举法之三色球
  14. C#合并多个pdf到一个pdf文件;不使用Aspose.pdf.dll,避免水印
  15. 查询网卡MAC地址.bat
  16. 基于微信小程序音乐播放器
  17. 名词性从句(1)——同位语从句(1)
  18. 计算机学校教师培训方案,教师培训电脑多媒体实施方案
  19. 洛谷:P2525 Uim的情人节礼物·其之壱
  20. SQL Server数据库系统和数据库简介

热门文章

  1. 强化学习MATLAB代码实现
  2. 华为交换机web界面配置
  3. php幼儿园管理系源码,先启幼儿园在线管理系统
  4. 三年经验前端社招面经——朴朴科技
  5. 用matlab画x 的定积分图像,matlab图像定积分
  6. linkedin 第三方网站登录(JavaScript SDK)
  7. mac 命令 vim 快捷键
  8. 当下最实用计算机编程语言,目前最流行的计算机编程语言是什么?
  9. 超强、超详细Redis入门教程
  10. 一文详解C语言关键字