2.对于程序来说,不管后缀名如何,文件分为两种类型:文本文件和二进制文件。
C语言里有一系列文件 *** 作函数。区分文本和二进制文件,需要在打开文件时设置不同的控制符mode的变量即可。
3.fopen的函数原型:FILE * fopen(const char * path,const char * mode)
fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:
r 以只读方式打开文件,该文件必须存在。
r+ 以可读写方式打开文件,该文件必须存在。
rb+ 读写打开一个二进制文件,允许读数据。
rw+ 读写打开一个文本文件,允许读和写。
w 打开只写文件,若文件存在则文件长度清为0,即该梁岩文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即坦历文件原先的内容会被保留。 (原来的EOF符不保留)
wb 只写打开或新建一个二进制文件;只允许写数据。
wb+ 读写打开或建立一个二进制文件,允许读和写。
wt+ 读写打开或着建立一个文本文件;允许读写。
at+ 读写打开一个文本文件,允许读或在文本末追加数据。
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,橡信御而非纯文字文件。
强烈推荐Adobe Reader 8打开PDF。在网上的许多资料都是以CAJ、PDF等文件格式提供的,其中的文本不能被直接编辑。网上提供了许多处理这种情况的软件,但是它们不是效率低,就是只能提取其中部分文本。本文所述利用微软提供的OCR识别技术从CAJ、蠢握PDF等文件中提取全部文本的方法,简便快捷,效率很高。
从不同格式的文件中提取文本前需要做好以下准备工作,安装CAJViewer5.5浏览器软件和acrobat 5 专业版浏览器软件安装Office2003,并完全安装Of?鄄fice工具Microsoft Office Document Imaging,然后在打印机里面会增加Microsoft Office Document Image Writer打印机。 Microsoft Office Document Image可以非常准确的全文件识别转化中文、英文、表格。
一、CAJ文件的识别
(一)首先,从网上下载CAJ格式的资料文件保存到本地硬盘上。
(二)然后,启动CAJViewer浏览器程序,并在该程序中打开刚才保存的CAJ格式的文件。浏览文件到最后一页后,不要关闭CAJ浏览器程序。
(三)在CAJ浏览器程序窗口中,选择“文件”→“打印”,并选择打印机为Microsoft Office Document Image Writer打印机,勾选打印到文漏毁件选项和确定打印页数。
(四)保存打印文件(*.prn)到适当位置。等待打印完成后,Microsoft Office Document Image 自动打开刚才保存的打印文件。
(五)在Microsoft Office Document Image窗口中,选择“页面”菜单中的“选择所有页面”菜单项,然后选择“工具”菜单中的“使用OCR识别文本”提取文本。
(六)选择“工具”下的 “将文本发送到word”,最后将把整个CAJ文件识别输出到word文件中。
二、PDF文件的识别
(一)以文本形式保存的PDF文件,用acrobat 5 专业版,识别整个文件。直接打开从网上下载的PDF格式文件另存为RTF文件,或者选择工具栏上的文字选择按钮,然后选择文字区域,然后复制到Word中即可。
(带搜庆二)以图片形式保存的PDF文件,将PDF文件打印到Microsoft Office Document Image Writer打印机,选择打印形成的文件的保存位置,然后会自动形成一个MDI文件,并且自动用Microsoft Office Document Image打开此文件,然后在Microsoft Office Document Im?鄄age中选择“工具”菜单中的“使用OCR识别文本”,识别完成后,在选择“工具”下的,“将文本发送到word”,最后将把整个PDF文件识别输出到word文件中。
(三)加密的PDF文件先下载解密软件,解密后在参照上述步骤1),2) 进行。
(四)繁体PDF文件用上述步骤2)的方法识别到word后,用word中的“工具”→“语言”→“中文繁简转换”
三、超星文件的识别
(一)全文件识别打印到Microsoft Office Document Image Writer打印机,然后按上述PDF文件的识别步骤中第二点 *** 作,要注意的是,超星打印功能有点区别,因为超星是目录和全文分开的,所以打印时,需要分别把目录和正文识别到Word中,再合并到一起。打印时要填入打印页码从1到最后一页,不要选择打印全部。在打印选项中,要将页面比例设成真实大小,而不是整宽。注意识别速度比其他格式要慢很多,请保持耐心。一般一本200多页的书,识别需要几分钟的时间。
(二)超星文件识别相对比较麻烦一些,如果还有问题,可以先把超星打印成完整的PDF文件,然后再用上述识别PDF文件的方法转成Word。
四、后记
经过试验,发现Microsoft Office Document Image 存在一些不稳定的问题,如在用CAJ打印到Microsoft Office Document Image Writer时,发现用CAJ5.5版本比较快,而CAJ5.0有时出现假死机。页面显示大时,转化的识别率较高。如果页数多的文件,包括超星,可以分多次转化。
由于虚拟打印到Microsoft Office Document Image Writer 比较慢,并且形成的虚拟文件很大,1本200多页的书大约是60M,因此会严重影响机器的运行速度、C盘和内存空间。建议配置好的机器一次转化不要超过200页,配置差的不要超过100页,同时打印时在任务栏中会出现打印机图标,可以双击,看到打印任务的进度,避免误以为死机。转化完成后请删除c:\windows\temp目录下的虚拟打印文件,否则C盘很快会被用光。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)