(转)调用Office2003的OCR功能识别图片上的文字


     int  miLANG_CHINESE_SIMPLIFIED  =   2052 ;
                        IDocument 
* pDoc  =   new  IDocument;
                        pDoc
-> CreateDispatch( _T( " MODI.Document " ) );
                        pDoc
-> Create(GetAppPath()  +  _T( " out.bmp " ));
                        pDoc
-> OCR( miLANG_CHINESE_SIMPLIFIED,  0 0  );
                        IImages images 
=  pDoc -> GetImages();
                        
long       num  = images.GetCount();
                        
for int  i  =   0 ; i  <  num; i ++  )
                        

                            IImage  image 
=  images.GetItem(i);
                            ILayout layout 
=  image.GetLayout();
                            strTemp.Append( layout.GetText());
                        }

                        pDoc
-> Close( 0 );
                        pDoc
-> ReleaseDispatch();
                        delete pDoc;

还需要导入Office2003的Dispatch接口包装类

  1 //  Machine generated IDispatch wrapper class(es) created with ClassWizard
  2 //////////////////////////////////////////////////////////////////////////// /
  3 //  IMiFont wrapper class
  4
  5 class  IMiFont :  public  COleDispatchDriver
  6 {
  7 public :
  8     IMiFont()  {}          //  Calls COleDispatchDriver default constructor
  9     IMiFont(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
 10     IMiFont( const  IMiFont &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
 11
 12 //  Attributes
 13 public :
 14
 15 //  Operations
 16 public :
 17      long  GetFamily();
 18      long  GetFaceStyle();
 19      long  GetSerifStyle();
 20      short  GetFontSize();
 21 }
;
 22 //////////////////////////////////////////////////////////////////////////// /
 23 //  IMiRect wrapper class
 24
 25 class  IMiRect :  public  COleDispatchDriver
 26 {
 27 public :
 28     IMiRect()  {}          //  Calls COleDispatchDriver default constructor
 29     IMiRect(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
 30     IMiRect( const  IMiRect &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
 31
 32 //  Attributes
 33 public :
 34
 35 //  Operations
 36 public :
 37      long  GetTop();
 38      long  GetLeft();
 39      long  GetRight();
 40      long  GetBottom();
 41 }
;
 42 //////////////////////////////////////////////////////////////////////////// /
 43 //  IMiRects wrapper class
 44
 45 class  IMiRects :  public  COleDispatchDriver
 46 {
 47 public :
 48     IMiRects()  {}          //  Calls COleDispatchDriver default constructor
 49     IMiRects(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
 50     IMiRects( const  IMiRects &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
 51
 52 //  Attributes
 53 public :
 54
 55 //  Operations
 56 public :
 57      long  GetCount();
 58     LPUNKNOWN Get_NewEnum();
 59     LPDISPATCH GetItem( long  Index);
 60 }
;
 61 //////////////////////////////////////////////////////////////////////////// /
 62 //  IWord wrapper class
 63
 64 class  IWord :  public  COleDispatchDriver
 65 {
 66 public :
 67     IWord()  {}          //  Calls COleDispatchDriver default constructor
 68     IWord(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
 69     IWord( const  IWord &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
 70
 71 //  Attributes
 72 public :
 73
 74 //  Operations
 75 public :
 76      short  GetRecognitionConfidence();
 77      long  GetFontId();
 78      long  GetLineId();
 79      long  GetRegionId();
 80     CString GetText();
 81     LPDISPATCH GetFont();
 82      long  GetId();
 83     LPDISPATCH GetRects();
 84 }
;
 85 //////////////////////////////////////////////////////////////////////////// /
 86 //  IWords wrapper class
 87
 88 class  IWords :  public  COleDispatchDriver
 89 {
 90 public :
 91     IWords()  {}          //  Calls COleDispatchDriver default constructor
 92     IWords(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
 93     IWords( const  IWords &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
 94
 95 //  Attributes
 96 public :
 97
 98 //  Operations
 99 public :
100      long  GetCount();
101     LPUNKNOWN Get_NewEnum();
102     LPDISPATCH GetItem( long  Index);
103 }
;
104 //////////////////////////////////////////////////////////////////////////// /
105 //  ILayout wrapper class
106
107 class  ILayout :  public  COleDispatchDriver
108 {
109 public :
110     ILayout()  {}          //  Calls COleDispatchDriver default constructor
111     ILayout(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
112     ILayout( const  ILayout &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
113
114 //  Attributes
115 public :
116
117 //  Operations
118 public :
119      long  GetLanguage(); // 获得OCR处理时的使用的语言设置
120      long  GetNumChars(); // 获得已经辨认文本的字符数目
121      long  GetNumWords();
122      long  GetNumFonts(); // 获得字体
123     CString GetText(); // 以单CString方式获得辨认文本
124     LPDISPATCH GetWords();
125 }
;
126 //////////////////////////////////////////////////////////////////////////// /
127 //  IImage wrapper class
128
129 class  IImage :  public  COleDispatchDriver
130 {
131 public :
132     IImage()  {}          //  Calls COleDispatchDriver default constructor
133     IImage(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
134     IImage( const  IImage &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
135
136 //  Attributes
137 public :
138
139 //  Operations
140 public :
141     LPDISPATCH GetLayout();     // 获得OCR页面结果
142      long  GetPixelWidth();     // 获取像素的宽
143      long  GetPixelHeight();     // 获取像素的高
144      long  GetXdpi();             // 获取每英寸X轴像素
145      long  GetYdpi();             // 获取每英寸Y轴像素
146      long  GetBitsPerPixel();     // 获取每像素的位数
147     LPDISPATCH GetThumbnail( long  ThumbSize); // 返回IPictureDisp,获取图象指图
148     LPDISPATCH GetPicture(); // 获取图象返回IPictureDisp
149      long  GetCompression();     // 获取图片压缩程度
150      void  OCR( long  LangId, BOOL OCROrientImage, BOOL OCRStraightenImage); // 对页面执行OCR
151      void  Rotate( long  Angle); // 转动页面增加90度
152 }
;
153 //////////////////////////////////////////////////////////////////////////// /
154 //  IImages wrapper class
155
156 class  IImages :  public  COleDispatchDriver
157 {
158 public :
159     IImages()  {}          //  Calls COleDispatchDriver default constructor
160     IImages(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
161     IImages( const  IImages &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
162
163 //  Attributes
164 public :
165
166 //  Operations
167 public :
168      long  GetCount();
169      void  Add(LPDISPATCH Page, LPDISPATCH BeforePage);
170     LPUNKNOWN Get_NewEnum();
171     LPDISPATCH GetItem( long  Index);
172      void  Remove(LPDISPATCH Page);
173 }
;
174 //////////////////////////////////////////////////////////////////////////// /
175 //  IDocument wrapper class
176
177 class  IDocument :  public  COleDispatchDriver
178 {
179 public :
180     IDocument()  {}          //  Calls COleDispatchDriver default constructor
181     IDocument(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
182     IDocument( const  IDocument &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
183
184 //  Attributes
185 public :
186
187 //  Operations
188 public :
189      void  Save();                     // 保存文挡
190      void  Close(BOOL SaveChanges);     // 关闭文挡
191      void  SaveAs(LPCTSTR FileName,  long  FileFormat,  long  CompLevel); // 以指定文件名,图片格式,压缩程度来保存文挡
192     LPDISPATCH GetImages();             // 获取文挡页面收集
193     LPDISPATCH GetBuiltInDocumentProperties(); // 获取Office 文挡属性 
194     LPDISPATCH GetCustomDocumentProperties(); // 获取Office 文挡属性
195      void  Create(LPCTSTR FileOpen);     // 创建新的文挡
196     BOOL GetDirty();                 // 获得一个值,看是否不保存所修改过的文挡
197      void  OCR( long  LangId, BOOL OCROrientImage, BOOL OCRStraightenImage); // 对整个文挡执行OCR
198      void  PrintOut( long  From,  long  To,  long  Copies, LPCTSTR PrinterName, LPCTSTR PrintToFileName, BOOL PrintAnnotation,  long  FitMode); // 打印文挡到打印机或者文件
199 }
;
200 //////////////////////////////////////////////////////////////////////////// /
201 //  _IDocumentEvents wrapper class
202
203 class  _IDocumentEvents :  public  COleDispatchDriver
204 {
205 public :
206     _IDocumentEvents()  {}          //  Calls COleDispatchDriver default constructor
207     _IDocumentEvents(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
208     _IDocumentEvents( const  _IDocumentEvents &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
209
210 //  Attributes
211 public :
212
213 //  Operations
214 public :
215      //  method 'OnOCRProgress' not emitted because of invalid return type or parameter type
216 }
;
217 //////////////////////////////////////////////////////////////////////////// /
218 //  _IImageEvents wrapper class
219
220 class  _IImageEvents :  public  COleDispatchDriver
221 {
222 public :
223     _IImageEvents()  {}          //  Calls COleDispatchDriver default constructor
224     _IImageEvents(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
225     _IImageEvents( const  _IImageEvents &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
226
227 //  Attributes
228 public :
229
230 //  Operations
231 public :
232 }
;
233 //////////////////////////////////////////////////////////////////////////// /
234 //  IMiSelectRect wrapper class
235
236 class  IMiSelectRect :  public  COleDispatchDriver
237 {
238 public :
239     IMiSelectRect()  {}          //  Calls COleDispatchDriver default constructor
240     IMiSelectRect(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
241     IMiSelectRect( const  IMiSelectRect &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
242
243 //  Attributes
244 public :
245
246 //  Operations
247 public :
248      long  GetPageNumber(); // 获取当前所显示页面
249      long  GetLeft(); 
250      long  GetTop();
251      long  GetRight();
252      long  GetBottom();
253 }
;
254 //////////////////////////////////////////////////////////////////////////// /
255 //  IMiSelectRects wrapper class
256
257 class  IMiSelectRects :  public  COleDispatchDriver
258 {
259 public :
260     IMiSelectRects()  {}          //  Calls COleDispatchDriver default constructor
261     IMiSelectRects(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
262     IMiSelectRects( const  IMiSelectRects &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
263
264 //  Attributes
265 public :
266
267 //  Operations
268 public :
269      long  GetCount();
270     LPUNKNOWN Get_NewEnum();
271     LPDISPATCH GetItem( long  Index);
272 }
;
273 //////////////////////////////////////////////////////////////////////////// /
274 //  IMiSelectableItem wrapper class
275
276 class  IMiSelectableItem :  public  COleDispatchDriver
277 {
278 public :
279     IMiSelectableItem()  {}          //  Calls COleDispatchDriver default constructor
280     IMiSelectableItem(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
281     IMiSelectableItem( const  IMiSelectableItem &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
282
283 //  Attributes
284 public :
285
286 //  Operations
287 public :
288      void  CopyToClipboard();         // 拷贝所选择文本到剪贴板
289     CString GetText();             // 获取选择区域所辨认出的文本
290     LPDISPATCH GetWords();         // 获得所辨认出的文本的字符集合
291     LPDISPATCH GetSelectRects(); // 返回一个选择区域
292 }
;
293 //////////////////////////////////////////////////////////////////////////// /
294 //  IMiSelectableImage wrapper class
295
296 class  IMiSelectableImage :  public  COleDispatchDriver
297 {
298 public :
299     IMiSelectableImage()  {}          //  Calls COleDispatchDriver default constructor
300     IMiSelectableImage(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
301     IMiSelectableImage( const  IMiSelectableImage &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
302
303 //  Attributes
304 public :
305
306 //  Operations
307 public :
308      void  CopyToClipboard( long  CopyAnnotation,  long  AlwaysKeepAnnotationColor); // 拷贝所选择文本到剪贴板
309     LPDISPATCH ExportToPicture( long  CopyAnnotation,  long  AlwaysKeepAnnotationColor); // 返回一个IPictureDisp图形选择
310      void  GetBoundingRect( long *  plPageNum,  long *  Left,  long *  Top,  long *  Right,  long *  Bottom); // 返回一个矩形区域
311 }
;
312 //////////////////////////////////////////////////////////////////////////// /
313 //  IMiDocView wrapper class
314
315 class  IMiDocView :  public  COleDispatchDriver
316 {
317 public :
318     IMiDocView()  {}          //  Calls COleDispatchDriver default constructor
319     IMiDocView(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
320     IMiDocView( const  IMiDocView &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
321
322 //  Attributes
323 public :
324
325 //  Operations
326 public :
327     LPUNKNOWN GetDocument();                 // 获取文挡
328      void  SetDocument(LPUNKNOWN newValue);     // 设置文挡
329     CString GetFileName();                     // 获取文件名
330      void  SetFileName(LPCTSTR lpszNewValue);  // 设置文件名
331      long  GetNumPages();                         // 获取文挡的页数
332      void  ClientToDocument( long *  plX,  long *  plY); // 转换视图坐标到文挡坐标
333      void  DocumentToClient( long *  plX,  long *  plY); // 转换文挡坐标到视图坐标
334      void  ClientToImage( long  lSX,  long  lSY,  long *  pnPage,  long *  plX,  long *  plY); // 转换视图坐标到页面坐标
335      void  ImageToClient( long  nPage,  long  lX,  long  lY,  long *  plSX,  long *  plSY);  // 页面坐标转换为视图坐标
336      void  GetVisibleRect( long *  Left,  long *  Top,  long *  Right,  long *  Bottom); // 返回可视矩形坐标
337      void  MoveRectIntoView( long  Left,  long  Top,  long  Right,  long  Bottom);  // 移动指定的矩形区域到视图
338      long  GetDocViewMode();                     // 获得决定显示页面的方式
339      void  SetDocViewMode( long  nNewValue);     // 设置决定以什么的方式去显示页面
340      long  GetPageNum();                         // 获取当前所显示页面
341      void  SetPageNum( long  nNewValue);         // 设置当前所显示页面
342      void  GetScale( double *  pdScaleX,  double *  pdScaleY); // 获取被使用坐标因素
343      void  SetScale( double  dScaleX,  double  dScaleY); // 设置被使用坐标因素
344      long  GetFitMode();                         // 设置确定怎么适合页面到视图窗口值
345      void  SetFitMode( long  nNewValue);         // 获取确定怎么适合页面到视图窗口值
346      long  GetActionState();                     // 获取运行操作状态
347      void  SetActionState( long  nNewValue);     // 设置允许操作状态
348     LPDISPATCH GetTextSelection();             // 获取用户选择区域
349      void  SetTextSelection(LPDISPATCH newValue); // 设置用户选择区域
350     LPDISPATCH GetImageSelection();             // 获取用户选择,并以Image返回
351      void  SetImageSelection(LPDISPATCH newValue); // 设置用户选择,并以Image返回
352      void  SelectAll( long  nPage);                 // 在页面上选择所有东西
353      void  MoveSelectionToView(LPDISPATCH pdispSelection);  // 移动用户所选对象到视图
354      void  SetLayerVisible( long  Index, BOOL bNewValue); // 设置文挡可视图层
355     BOOL GetLayerVisible( long  Index);         // 获取文挡可视图层
356 }
;
357 //////////////////////////////////////////////////////////////////////////// /
358 //  _IMiDocViewEvents wrapper class
359
360 class  _IMiDocViewEvents :  public  COleDispatchDriver
361 {
362 public :
363     _IMiDocViewEvents()  {}          //  Calls COleDispatchDriver default constructor
364     _IMiDocViewEvents(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
365     _IMiDocViewEvents( const  _IMiDocViewEvents &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
366
367 //  Attributes
368 public :
369
370 //  Operations
371 public :
372      //  method 'FitmodeChanged' not emitted because of invalid return type or parameter type
373      //  method 'ScaleChanged' not emitted because of invalid return type or parameter type
374      //  method 'SelectionChanged' not emitted because of invalid return type or parameter type
375      //  method 'PageChanged' not emitted because of invalid return type or parameter type
376      //  method 'PageCountChanged' not emitted because of invalid return type or parameter type
377      //  method 'CurPageNumChanged' not emitted because of invalid return type or parameter type
378      //  method 'VisibleRectChanged' not emitted because of invalid return type or parameter type
379 }
;
380 //////////////////////////////////////////////////////////////////////////// /
381 //  IMiDocSearch wrapper class
382
383 class  IMiDocSearch :  public  COleDispatchDriver
384 {
385 public :
386     IMiDocSearch()  {}          //  Calls COleDispatchDriver default constructor
387     IMiDocSearch(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch)  {}
388     IMiDocSearch( const  IMiDocSearch &  dispatchSrc) : COleDispatchDriver(dispatchSrc)  {}
389
390 //  Attributes
391 public :
392
393 //  Operations
394 public :
395      void  Initialize(LPUNKNOWN piDoc, LPCTSTR strPattern, VARIANT *  PageNum, VARIANT *  WordIndex, VARIANT *  StartAfterIndex, VARIANT *  Backward, BOOL MatchMinus, BOOL MatchFullHalfWidthForm, BOOL MatchHiraganaKatakana, BOOL IgnoreSpace);
396      void  Search(LPUNKNOWN pSearchCallback, LPDISPATCH *  ppiSearchResult);
397 }
;
398


  1 //  Machine generated IDispatch wrapper class(es) created with ClassWizard
  2
  3 #include  " stdafx.h "
  4 #include  " mdivwctl.h "
  5
  6 #ifdef _DEBUG
  7 #define  new  DEBUG_NEW
  8 #undef THIS_FILE
  9 static   char  THIS_FILE[]  =  __FILE__;
 10 #endif
 11
 12
 13
 14 //////////////////////////////////////////////////////////////////////////// /
 15 //  IMiFont properties
 16
 17 //////////////////////////////////////////////////////////////////////////// /
 18 //  IMiFont operations
 19
 20 long  IMiFont::GetFamily()
 21 {
 22      long  result;
 23     InvokeHelper( 0x1 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
 24      return  result;
 25 }

 26
 27 long  IMiFont::GetFaceStyle()
 28 {
 29      long  result;
 30     InvokeHelper( 0x3 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
 31      return  result;
 32 }

 33
 34 long  IMiFont::GetSerifStyle()
 35 {
 36      long  result;
 37     InvokeHelper( 0x4 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
 38      return  result;
 39 }

 40
 41 short  IMiFont::GetFontSize()
 42 {
 43      short  result;
 44     InvokeHelper( 0x5 , DISPATCH_PROPERTYGET, VT_I2, ( void * ) & result, NULL);
 45      return  result;
 46 }

 47
 48
 49 //////////////////////////////////////////////////////////////////////////// /
 50 //  IMiRect properties
 51
 52 //////////////////////////////////////////////////////////////////////////// /
 53 //  IMiRect operations
 54
 55 long  IMiRect::GetTop()
 56 {
 57      long  result;
 58     InvokeHelper( 0x1 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
 59      return  result;
 60 }

 61
 62 long  IMiRect::GetLeft()
 63 {
 64      long  result;
 65     InvokeHelper( 0x2 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
 66      return  result;
 67 }

 68
 69 long  IMiRect::GetRight()
 70 {
 71      long  result;
 72     InvokeHelper( 0x3 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
 73      return  result;
 74 }

 75
 76 long  IMiRect::GetBottom()
 77 {
 78      long  result;
 79     InvokeHelper( 0x4 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
 80      return  result;
 81 }

 82
 83
 84 //////////////////////////////////////////////////////////////////////////// /
 85 //  IMiRects properties
 86
 87 //////////////////////////////////////////////////////////////////////////// /
 88 //  IMiRects operations
 89
 90 long  IMiRects::GetCount()
 91 {
 92      long  result;
 93     InvokeHelper( 0x1 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
 94      return  result;
 95 }

 96
 97 LPUNKNOWN IMiRects::Get_NewEnum()
 98 {
 99     LPUNKNOWN result;
100     InvokeHelper( 0xfffffffc , DISPATCH_PROPERTYGET, VT_UNKNOWN, ( void * ) & result, NULL);
101      return  result;
102 }

103
104 LPDISPATCH IMiRects::GetItem( long  Index)
105 {
106     LPDISPATCH result;
107      static  BYTE parms[]  =
108         VTS_I4;
109     InvokeHelper( 0x0 , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, parms,
110         Index);
111      return  result;
112 }

113
114
115 //////////////////////////////////////////////////////////////////////////// /
116 //  IWord properties
117
118 //////////////////////////////////////////////////////////////////////////// /
119 //  IWord operations
120
121 short  IWord::GetRecognitionConfidence()
122 {
123      short  result;
124     InvokeHelper( 0x1 , DISPATCH_PROPERTYGET, VT_I2, ( void * ) & result, NULL);
125      return  result;
126 }

127
128 long  IWord::GetFontId()
129 {
130      long  result;
131     InvokeHelper( 0x2 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
132      return  result;
133 }

134
135 long  IWord::GetLineId()
136 {
137      long  result;
138     InvokeHelper( 0x3 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
139      return  result;
140 }

141
142 long  IWord::GetRegionId()
143 {
144      long  result;
145     InvokeHelper( 0x4 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
146      return  result;
147 }

148
149 CString IWord::GetText()
150 {
151     CString result;
152     InvokeHelper( 0x6 , DISPATCH_PROPERTYGET, VT_BSTR, ( void * ) & result, NULL);
153      return  result;
154 }

155
156 LPDISPATCH IWord::GetFont()
157 {
158     LPDISPATCH result;
159     InvokeHelper( 0x7 , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, NULL);
160      return  result;
161 }

162
163 long  IWord::GetId()
164 {
165      long  result;
166     InvokeHelper( 0x8 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
167      return  result;
168 }

169
170 LPDISPATCH IWord::GetRects()
171 {
172     LPDISPATCH result;
173     InvokeHelper( 0x9 , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, NULL);
174      return  result;
175 }

176
177
178 //////////////////////////////////////////////////////////////////////////// /
179 //  IWords properties
180
181 //////////////////////////////////////////////////////////////////////////// /
182 //  IWords operations
183
184 long  IWords::GetCount()
185 {
186      long  result;
187     InvokeHelper( 0x1 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
188      return  result;
189 }

190
191 LPUNKNOWN IWords::Get_NewEnum()
192 {
193     LPUNKNOWN result;
194     InvokeHelper( 0xfffffffc , DISPATCH_PROPERTYGET, VT_UNKNOWN, ( void * ) & result, NULL);
195      return  result;
196 }

197
198 LPDISPATCH IWords::GetItem( long  Index)
199 {
200     LPDISPATCH result;
201      static  BYTE parms[]  =
202         VTS_I4;
203     InvokeHelper( 0x0 , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, parms,
204         Index);
205      return  result;
206 }

207
208
209 //////////////////////////////////////////////////////////////////////////// /
210 //  ILayout properties
211
212 //////////////////////////////////////////////////////////////////////////// /
213 //  ILayout operations
214
215 long  ILayout::GetLanguage()
216 {
217      long  result;
218     InvokeHelper( 0x1 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
219      return  result;
220 }

221
222 long  ILayout::GetNumChars()
223 {
224      long  result;
225     InvokeHelper( 0x2 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
226      return  result;
227 }

228
229 long  ILayout::GetNumWords()
230 {
231      long  result;
232     InvokeHelper( 0x3 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
233      return  result;
234 }

235
236 long  ILayout::GetNumFonts()
237 {
238      long  result;
239     InvokeHelper( 0x4 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
240      return  result;
241 }

242
243 CString ILayout::GetText()
244 {
245     CString result;
246     InvokeHelper( 0x5 , DISPATCH_PROPERTYGET, VT_BSTR, ( void * ) & result, NULL);
247      return  result;
248 }

249
250 LPDISPATCH ILayout::GetWords()
251 {
252     LPDISPATCH result;
253     InvokeHelper( 0x6 , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, NULL);
254      return  result;
255 }

256
257
258 //////////////////////////////////////////////////////////////////////////// /
259 //  IImage properties
260
261 //////////////////////////////////////////////////////////////////////////// /
262 //  IImage operations
263
264 LPDISPATCH IImage::GetLayout()
265 {
266     LPDISPATCH result;
267     InvokeHelper( 0x1 , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, NULL);
268      return  result;
269 }

270
271 long  IImage::GetPixelWidth()
272 {
273      long  result;
274     InvokeHelper( 0x2 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
275      return  result;
276 }

277
278 long  IImage::GetPixelHeight()
279 {
280      long  result;
281     InvokeHelper( 0x3 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
282      return  result;
283 }

284
285 long  IImage::GetXdpi()
286 {
287      long  result;
288     InvokeHelper( 0x4 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
289      return  result;
290 }

291
292 long  IImage::GetYdpi()
293 {
294      long  result;
295     InvokeHelper( 0x5 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
296      return  result;
297 }

298
299 long  IImage::GetBitsPerPixel()
300 {
301      long  result;
302     InvokeHelper( 0x6 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
303      return  result;
304 }

305
306 LPDISPATCH IImage::GetThumbnail( long  ThumbSize)
307 {
308     LPDISPATCH result;
309      static  BYTE parms[]  =
310         VTS_I4;
311     InvokeHelper( 0x7 , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, parms,
312         ThumbSize);
313      return  result;
314 }

315
316 LPDISPATCH IImage::GetPicture()
317 {
318     LPDISPATCH result;
319     InvokeHelper( 0x8 , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, NULL);
320      return  result;
321 }

322
323 long  IImage::GetCompression()
324 {
325      long  result;
326     InvokeHelper( 0x9 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
327      return  result;
328 }

329
330 void  IImage::OCR( long  LangId, BOOL OCROrientImage, BOOL OCRStraightenImage)
331 {
332      static  BYTE parms[]  =
333         VTS_I4 VTS_BOOL VTS_BOOL;
334     InvokeHelper( 0xa , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
335          LangId, OCROrientImage, OCRStraightenImage);
336 }

337
338 void  IImage::Rotate( long  Angle)
339 {
340      static  BYTE parms[]  =
341         VTS_I4;
342     InvokeHelper( 0xb , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
343          Angle);
344 }

345
346
347 //////////////////////////////////////////////////////////////////////////// /
348 //  IImages properties
349
350 //////////////////////////////////////////////////////////////////////////// /
351 //  IImages operations
352
353 long  IImages::GetCount()
354 {
355      long  result;
356     InvokeHelper( 0x1 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
357      return  result;
358 }

359
360 void  IImages::Add(LPDISPATCH Page, LPDISPATCH BeforePage)
361 {
362      static  BYTE parms[]  =
363         VTS_DISPATCH VTS_DISPATCH;
364     InvokeHelper( 0x2 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
365          Page, BeforePage);
366 }

367
368 LPUNKNOWN IImages::Get_NewEnum()
369 {
370     LPUNKNOWN result;
371     InvokeHelper( 0xfffffffc , DISPATCH_PROPERTYGET, VT_UNKNOWN, ( void * ) & result, NULL);
372      return  result;
373 }

374
375 LPDISPATCH IImages::GetItem( long  Index)
376 {
377     LPDISPATCH result;
378      static  BYTE parms[]  =
379         VTS_I4;
380     InvokeHelper( 0x0 , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, parms,
381         Index);
382      return  result;
383 }

384
385 void  IImages::Remove(LPDISPATCH Page)
386 {
387      static  BYTE parms[]  =
388         VTS_DISPATCH;
389     InvokeHelper( 0x5 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
390          Page);
391 }

392
393
394 //////////////////////////////////////////////////////////////////////////// /
395 //  IDocument properties
396
397 //////////////////////////////////////////////////////////////////////////// /
398 //  IDocument operations
399
400 void  IDocument::Save()
401 {
402     InvokeHelper( 0x2 , DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
403 }

404
405 void  IDocument::Close(BOOL SaveChanges)
406 {
407      static  BYTE parms[]  =
408         VTS_BOOL;
409     InvokeHelper( 0x3 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
410          SaveChanges);
411 }

412
413 void  IDocument::SaveAs(LPCTSTR FileName,  long  FileFormat,  long  CompLevel)
414 {
415      static  BYTE parms[]  =
416         VTS_BSTR VTS_I4 VTS_I4;
417     InvokeHelper( 0x4 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
418          FileName, FileFormat, CompLevel);
419 }

420
421 LPDISPATCH IDocument::GetImages()
422 {
423     LPDISPATCH result;
424     InvokeHelper( 0x5 , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, NULL);
425      return  result;
426 }

427
428 LPDISPATCH IDocument::GetBuiltInDocumentProperties()
429 {
430     LPDISPATCH result;
431     InvokeHelper( 0x6 , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, NULL);
432      return  result;
433 }

434
435 LPDISPATCH IDocument::GetCustomDocumentProperties()
436 {
437     LPDISPATCH result;
438     InvokeHelper( 0x7 , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, NULL);
439      return  result;
440 }

441
442 void  IDocument::Create(LPCTSTR FileOpen)
443 {
444      static  BYTE parms[]  =
445         VTS_BSTR;
446     InvokeHelper( 0x8 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
447          FileOpen);
448 }

449
450 BOOL IDocument::GetDirty()
451 {
452     BOOL result;
453     InvokeHelper( 0x9 , DISPATCH_PROPERTYGET, VT_BOOL, ( void * ) & result, NULL);
454      return  result;
455 }

456
457 void  IDocument::OCR( long  LangId, BOOL OCROrientImage, BOOL OCRStraightenImage)
458 {
459      static  BYTE parms[]  =
460         VTS_I4 VTS_BOOL VTS_BOOL;
461     InvokeHelper( 0xa , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
462          LangId, OCROrientImage, OCRStraightenImage);
463 }

464
465 void  IDocument::PrintOut( long  From,  long  To,  long  Copies, LPCTSTR PrinterName, LPCTSTR PrintToFileName, BOOL PrintAnnotation,  long  FitMode)
466 {
467      static  BYTE parms[]  =
468         VTS_I4 VTS_I4 VTS_I4 VTS_BSTR VTS_BSTR VTS_BOOL VTS_I4;
469     InvokeHelper( 0xb , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
470          From, To, Copies, PrinterName, PrintToFileName, PrintAnnotation, FitMode);
471 }

472
473
474 //////////////////////////////////////////////////////////////////////////// /
475 //  _IDocumentEvents properties
476
477 //////////////////////////////////////////////////////////////////////////// /
478 //  _IDocumentEvents operations
479
480
481 //////////////////////////////////////////////////////////////////////////// /
482 //  _IImageEvents properties
483
484 //////////////////////////////////////////////////////////////////////////// /
485 //  _IImageEvents operations
486
487
488 //////////////////////////////////////////////////////////////////////////// /
489 //  IMiSelectRect properties
490
491 //////////////////////////////////////////////////////////////////////////// /
492 //  IMiSelectRect operations
493
494 long  IMiSelectRect::GetPageNumber()
495 {
496      long  result;
497     InvokeHelper( 0x1 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
498      return  result;
499 }

500
501 long  IMiSelectRect::GetLeft()
502 {
503      long  result;
504     InvokeHelper( 0x2 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
505      return  result;
506 }

507
508 long  IMiSelectRect::GetTop()
509 {
510      long  result;
511     InvokeHelper( 0x3 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
512      return  result;
513 }

514
515 long  IMiSelectRect::GetRight()
516 {
517      long  result;
518     InvokeHelper( 0x4 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
519      return  result;
520 }

521
522 long  IMiSelectRect::GetBottom()
523 {
524      long  result;
525     InvokeHelper( 0x5 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
526      return  result;
527 }

528
529
530 //////////////////////////////////////////////////////////////////////////// /
531 //  IMiSelectRects properties
532
533 //////////////////////////////////////////////////////////////////////////// /
534 //  IMiSelectRects operations
535
536 long  IMiSelectRects::GetCount()
537 {
538      long  result;
539     InvokeHelper( 0x1 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
540      return  result;
541 }

542
543 LPUNKNOWN IMiSelectRects::Get_NewEnum()
544 {
545     LPUNKNOWN result;
546     InvokeHelper( 0xfffffffc , DISPATCH_PROPERTYGET, VT_UNKNOWN, ( void * ) & result, NULL);
547      return  result;
548 }

549
550 LPDISPATCH IMiSelectRects::GetItem( long  Index)
551 {
552     LPDISPATCH result;
553      static  BYTE parms[]  =
554         VTS_I4;
555     InvokeHelper( 0x0 , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, parms,
556         Index);
557      return  result;
558 }

559
560
561 //////////////////////////////////////////////////////////////////////////// /
562 //  IMiSelectableItem properties
563
564 //////////////////////////////////////////////////////////////////////////// /
565 //  IMiSelectableItem operations
566
567 void  IMiSelectableItem::CopyToClipboard()
568 {
569     InvokeHelper( 0x1 , DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
570 }

571
572 CString IMiSelectableItem::GetText()
573 {
574     CString result;
575     InvokeHelper( 0x2 , DISPATCH_PROPERTYGET, VT_BSTR, ( void * ) & result, NULL);
576      return  result;
577 }

578
579 LPDISPATCH IMiSelectableItem::GetWords()
580 {
581     LPDISPATCH result;
582     InvokeHelper( 0x3 , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, NULL);
583      return  result;
584 }

585
586 LPDISPATCH IMiSelectableItem::GetSelectRects()
587 {
588     LPDISPATCH result;
589     InvokeHelper( 0x4 , DISPATCH_METHOD, VT_DISPATCH, ( void * ) & result, NULL);
590      return  result;
591 }

592
593
594 //////////////////////////////////////////////////////////////////////////// /
595 //  IMiSelectableImage properties
596
597 //////////////////////////////////////////////////////////////////////////// /
598 //  IMiSelectableImage operations
599
600 void  IMiSelectableImage::CopyToClipboard( long  CopyAnnotation,  long  AlwaysKeepAnnotationColor)
601 {
602      static  BYTE parms[]  =
603         VTS_I4 VTS_I4;
604     InvokeHelper( 0x1 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
605          CopyAnnotation, AlwaysKeepAnnotationColor);
606 }

607
608 LPDISPATCH IMiSelectableImage::ExportToPicture( long  CopyAnnotation,  long  AlwaysKeepAnnotationColor)
609 {
610     LPDISPATCH result;
611      static  BYTE parms[]  =
612         VTS_I4 VTS_I4;
613     InvokeHelper( 0x2 , DISPATCH_METHOD, VT_DISPATCH, ( void * ) & result, parms,
614         CopyAnnotation, AlwaysKeepAnnotationColor);
615      return  result;
616 }

617
618 void  IMiSelectableImage::GetBoundingRect( long *  plPageNum,  long *  Left,  long *  Top,  long *  Right,  long *  Bottom)
619 {
620      static  BYTE parms[]  =
621         VTS_PI4 VTS_PI4 VTS_PI4 VTS_PI4 VTS_PI4;
622     InvokeHelper( 0x3 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
623          plPageNum, Left, Top, Right, Bottom);
624 }

625
626
627 //////////////////////////////////////////////////////////////////////////// /
628 //  IMiDocView properties
629
630 //////////////////////////////////////////////////////////////////////////// /
631 //  IMiDocView operations
632
633 LPUNKNOWN IMiDocView::GetDocument()
634 {
635     LPUNKNOWN result;
636     InvokeHelper( 0x1 , DISPATCH_PROPERTYGET, VT_UNKNOWN, ( void * ) & result, NULL);
637      return  result;
638 }

639
640 void  IMiDocView::SetDocument(LPUNKNOWN newValue)
641 {
642      static  BYTE parms[]  =
643         VTS_UNKNOWN;
644     InvokeHelper( 0x1 , DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
645          newValue);
646 }

647
648 CString IMiDocView::GetFileName()
649 {
650     CString result;
651     InvokeHelper( 0x2 , DISPATCH_PROPERTYGET, VT_BSTR, ( void * ) & result, NULL);
652      return  result;
653 }

654
655 void  IMiDocView::SetFileName(LPCTSTR lpszNewValue)
656 {
657      static  BYTE parms[]  =
658         VTS_BSTR;
659     InvokeHelper( 0x2 , DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
660          lpszNewValue);
661 }

662
663 long  IMiDocView::GetNumPages()
664 {
665      long  result;
666     InvokeHelper( 0x4 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
667      return  result;
668 }

669
670 void  IMiDocView::ClientToDocument( long *  plX,  long *  plY)
671 {
672      static  BYTE parms[]  =
673         VTS_PI4 VTS_PI4;
674     InvokeHelper( 0x30 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
675          plX, plY);
676 }

677
678 void  IMiDocView::DocumentToClient( long *  plX,  long *  plY)
679 {
680      static  BYTE parms[]  =
681         VTS_PI4 VTS_PI4;
682     InvokeHelper( 0x31 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
683          plX, plY);
684 }

685
686 void  IMiDocView::ClientToImage( long  lSX,  long  lSY,  long *  pnPage,  long *  plX,  long *  plY)
687 {
688      static  BYTE parms[]  =
689         VTS_I4 VTS_I4 VTS_PI4 VTS_PI4 VTS_PI4;
690     InvokeHelper( 0x34 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
691          lSX, lSY, pnPage, plX, plY);
692 }

693
694 void  IMiDocView::ImageToClient( long  nPage,  long  lX,  long  lY,  long *  plSX,  long *  plSY)
695 {
696      static  BYTE parms[]  =
697         VTS_I4 VTS_I4 VTS_I4 VTS_PI4 VTS_PI4;
698     InvokeHelper( 0x35 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
699          nPage, lX, lY, plSX, plSY);
700 }

701
702 void  IMiDocView::GetVisibleRect( long *  Left,  long *  Top,  long *  Right,  long *  Bottom)
703 {
704      static  BYTE parms[]  =
705         VTS_PI4 VTS_PI4 VTS_PI4 VTS_PI4;
706     InvokeHelper( 0x32 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
707          Left, Top, Right, Bottom);
708 }

709
710 void  IMiDocView::MoveRectIntoView( long  Left,  long  Top,  long  Right,  long  Bottom)
711 {
712      static  BYTE parms[]  =
713         VTS_I4 VTS_I4 VTS_I4 VTS_I4;
714     InvokeHelper( 0x33 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
715          Left, Top, Right, Bottom);
716 }

717
718 long  IMiDocView::GetDocViewMode()
719 {
720      long  result;
721     InvokeHelper( 0x17 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
722      return  result;
723 }

724
725 void  IMiDocView::SetDocViewMode( long  nNewValue)
726 {
727      static  BYTE parms[]  =
728         VTS_I4;
729     InvokeHelper( 0x17 , DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
730          nNewValue);
731 }

732
733 long  IMiDocView::GetPageNum()
734 {
735      long  result;
736     InvokeHelper( 0x3 , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
737      return  result;
738 }

739
740 void  IMiDocView::SetPageNum( long  nNewValue)
741 {
742      static  BYTE parms[]  =
743         VTS_I4;
744     InvokeHelper( 0x3 , DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
745          nNewValue);
746 }

747
748 void  IMiDocView::GetScale( double *  pdScaleX,  double *  pdScaleY)
749 {
750      static  BYTE parms[]  =
751         VTS_PR8 VTS_PR8;
752     InvokeHelper( 0x8 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
753          pdScaleX, pdScaleY);
754 }

755
756 void  IMiDocView::SetScale( double  dScaleX,  double  dScaleY)
757 {
758      static  BYTE parms[]  =
759         VTS_R8 VTS_R8;
760     InvokeHelper( 0x9 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
761          dScaleX, dScaleY);
762 }

763
764 long  IMiDocView::GetFitMode()
765 {
766      long  result;
767     InvokeHelper( 0xa , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
768      return  result;
769 }

770
771 void  IMiDocView::SetFitMode( long  nNewValue)
772 {
773      static  BYTE parms[]  =
774         VTS_I4;
775     InvokeHelper( 0xa , DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
776          nNewValue);
777 }

778
779 long  IMiDocView::GetActionState()
780 {
781      long  result;
782     InvokeHelper( 0xb , DISPATCH_PROPERTYGET, VT_I4, ( void * ) & result, NULL);
783      return  result;
784 }

785
786 void  IMiDocView::SetActionState( long  nNewValue)
787 {
788      static  BYTE parms[]  =
789         VTS_I4;
790     InvokeHelper( 0xb , DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
791          nNewValue);
792 }

793
794 LPDISPATCH IMiDocView::GetTextSelection()
795 {
796     LPDISPATCH result;
797     InvokeHelper( 0xc , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, NULL);
798      return  result;
799 }

800
801 void  IMiDocView::SetTextSelection(LPDISPATCH newValue)
802 {
803      static  BYTE parms[]  =
804         VTS_DISPATCH;
805     InvokeHelper( 0xc , DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
806          newValue);
807 }

808
809 LPDISPATCH IMiDocView::GetImageSelection()
810 {
811     LPDISPATCH result;
812     InvokeHelper( 0x2f , DISPATCH_PROPERTYGET, VT_DISPATCH, ( void * ) & result, NULL);
813      return  result;
814 }

815
816 void  IMiDocView::SetImageSelection(LPDISPATCH newValue)
817 {
818      static  BYTE parms[]  =
819         VTS_DISPATCH;
820     InvokeHelper( 0x2f , DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
821          newValue);
822 }

823
824 void  IMiDocView::SelectAll( long  nPage)
825 {
826      static  BYTE parms[]  =
827         VTS_I4;
828     InvokeHelper( 0x21 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
829          nPage);
830 }

831
832 void  IMiDocView::MoveSelectionToView(LPDISPATCH pdispSelection)
833 {
834      static  BYTE parms[]  =
835         VTS_DISPATCH;
836     InvokeHelper( 0xd , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
837          pdispSelection);
838 }

839
840 void  IMiDocView::SetLayerVisible( long  Index, BOOL bNewValue)
841 {
842      static  BYTE parms[]  =
843         VTS_I4 VTS_BOOL;
844     InvokeHelper( 0x1d , DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
845          Index, bNewValue);
846 }

847
848 BOOL IMiDocView::GetLayerVisible( long  Index)
849 {
850     BOOL result;
851      static  BYTE parms[]  =
852         VTS_I4;
853     InvokeHelper( 0x1d , DISPATCH_PROPERTYGET, VT_BOOL, ( void * ) & result, parms,
854         Index);
855      return  result;
856 }

857
858
859 //////////////////////////////////////////////////////////////////////////// /
860 //  _IMiDocViewEvents properties
861
862 //////////////////////////////////////////////////////////////////////////// /
863 //  _IMiDocViewEvents operations
864
865
866 //////////////////////////////////////////////////////////////////////////// /
867 //  IMiDocSearch properties
868
869 //////////////////////////////////////////////////////////////////////////// /
870 //  IMiDocSearch operations
871
872 void  IMiDocSearch::Initialize(LPUNKNOWN piDoc, LPCTSTR strPattern, VARIANT *  PageNum, VARIANT *  WordIndex, VARIANT *  StartAfterIndex, VARIANT *  Backward, BOOL MatchMinus, BOOL MatchFullHalfWidthForm, BOOL MatchHiraganaKatakana, BOOL IgnoreSpace)
873 {
874      static  BYTE parms[]  =
875         VTS_UNKNOWN VTS_BSTR VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_BOOL VTS_BOOL VTS_BOOL VTS_BOOL;
876     InvokeHelper( 0x1 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
877          piDoc, strPattern, PageNum, WordIndex, StartAfterIndex, Backward, MatchMinus, MatchFullHalfWidthForm, MatchHiraganaKatakana, IgnoreSpace);
878 }

879
880 void  IMiDocSearch::Search(LPUNKNOWN pSearchCallback, LPDISPATCH *  ppiSearchResult)
881 {
882      static  BYTE parms[]  =
883         VTS_UNKNOWN VTS_PDISPATCH;
884     InvokeHelper( 0x2 , DISPATCH_METHOD, VT_EMPTY, NULL, parms,
885          pSearchCallback, ppiSearchResult);
886 }

887

转自: http://www.cppblog.com/wangjia184/archive/2008/04/28/48327.aspx

你可能感兴趣的:((转)调用Office2003的OCR功能识别图片上的文字)