超星格式-BMP

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

最近,我偶然发现了一个超星 -> BMP的方法。

首先,请下载最新的“超星3.4Beta 7”,安装后,运行Delphi5,选择Component->Import ActiveX Control,然后,你会发现“Import ActiveX”中有一个选择为“Pdg2 Type Library(Version 1.0)”.....,剩下的事不用我说了吧。

我的方法:

procedure TMainForm.PdgToBmp(FPdgName, FBmpName: string);//FPdgname--超星格式文件名 FBmpName--要保存的BMP文件名。

var i:integer;

j:boolean;

begin

ClipBoard.Clear;

MyPdg.LoadPage(FPdgName,0,0,10);

Mypdg.Refresh;

MyPdg.CopyToClipBoard (0,0,MyPdg.PageWidth ,MyPdg.PageHeight);//这一操作需要一段时间

j:=false;

while j=false do

begin

MyPdg.CopyToClipBoard (0,0,MyPdg.PageWidth ,MyPdg.PageHeight);

for i:=0 to clipboard.FormatCount -1 do //检测ClipBoard中是否有位图,因为我在调试中发现有时执行MyPdg.CopyToClipBoard (0,0,MyPdg.PageWidth ,MyPdg.PageHeight);会出错,只有检测到有位图存在时,再进行复制.

if Clipboard.Formats[i]=2 then j:=true;

end;

Bmp.LoadFromClipBoardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);

bmp.PixelFormat:=pf1bit ;

bmp.SaveToFile(FBmpName);

end;

另外,假如对整个目录下的文件连续进行转换,请在相邻两次转换过程中插入

Sleep(1000);//给超星一点时间,否则她会有意见,不干活啦!!!

且 Mypdg.Visible必须设置True;

我发现转为BMP后用清华OCR识别的效果并不好,假如各位有什么高见,拿出来大伙公分享吧!!!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航