|
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接口包装类
mdivwctl.h 1// Machine generated IDispatch wrapper class(es) created with ClassWizard 2///////////////////////////////////////////////////////////////////////////// 3// IMiFont wrapper class 4 5class IMiFont : public COleDispatchDriver 6{ 7public: 8 IMiFont() {} // Calls COleDispatchDriver default constructor 9 IMiFont(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 10 IMiFont(const IMiFont& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 11 12// Attributes 13public: 14 15// Operations 16public: 17 long GetFamily(); 18 long GetFaceStyle(); 19 long GetSerifStyle(); 20 short GetFontSize(); 21}; 22///////////////////////////////////////////////////////////////////////////// 23// IMiRect wrapper class 24 25class IMiRect : public COleDispatchDriver 26{ 27public: 28 IMiRect() {} // Calls COleDispatchDriver default constructor 29 IMiRect(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 30 IMiRect(const IMiRect& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 31 32// Attributes 33public: 34 35// Operations 36public: 37 long GetTop(); 38 long GetLeft(); 39 long GetRight(); 40 long GetBottom(); 41}; 42///////////////////////////////////////////////////////////////////////////// 43// IMiRects wrapper class 44 45class IMiRects : public COleDispatchDriver 46{ 47public: 48 IMiRects() {} // Calls COleDispatchDriver default constructor 49 IMiRects(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 50 IMiRects(const IMiRects& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 51 52// Attributes 53public: 54 55// Operations 56public: 57 long GetCount(); 58 LPUNKNOWN Get_NewEnum(); 59 LPDISPATCH GetItem(long Index); 60}; 61///////////////////////////////////////////////////////////////////////////// 62// IWord wrapper class 63 64class IWord : public COleDispatchDriver 65{ 66public: 67 IWord() {} // Calls COleDispatchDriver default constructor 68 IWord(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 69 IWord(const IWord& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 70 71// Attributes 72public: 73 74// Operations 75public: 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 88class IWords : public COleDispatchDriver 89{ 90public: 91 IWords() {} // Calls COleDispatchDriver default constructor 92 IWords(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 93 IWords(const IWords& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 94 95// Attributes 96public: 97 98// Operations 99public: 100 long GetCount(); 101 LPUNKNOWN Get_NewEnum(); 102 LPDISPATCH GetItem(long Index); 103}; 104///////////////////////////////////////////////////////////////////////////// 105// ILayout wrapper class 106 107class ILayout : public COleDispatchDriver 108{ 109public: 110 ILayout() {} // Calls COleDispatchDriver default constructor 111 ILayout(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 112 ILayout(const ILayout& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 113 114// Attributes 115public: 116 117// Operations 118public: 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 129class IImage : public COleDispatchDriver 130{ 131public: 132 IImage() {} // Calls COleDispatchDriver default constructor 133 IImage(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 134 IImage(const IImage& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 135 136// Attributes 137public: 138 139// Operations 140public: 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 156class IImages : public COleDispatchDriver 157{ 158public: 159 IImages() {} // Calls COleDispatchDriver default constructor 160 IImages(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 161 IImages(const IImages& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 162 163// Attributes 164public: 165 166// Operations 167public: 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 177class IDocument : public COleDispatchDriver 178{ 179public: 180 IDocument() {} // Calls COleDispatchDriver default constructor 181 IDocument(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 182 IDocument(const IDocument& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 183 184// Attributes 185public: 186 187// Operations 188public: 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 203class _IDocumentEvents : public COleDispatchDriver 204{ 205public: 206 _IDocumentEvents() {} // Calls COleDispatchDriver default constructor 207 _IDocumentEvents(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 208 _IDocumentEvents(const _IDocumentEvents& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 209 210// Attributes 211public: 212 213// Operations 214public: 215 // method 'OnOCRProgress' not emitted because of invalid return type or parameter type 216}; 217///////////////////////////////////////////////////////////////////////////// 218// _IImageEvents wrapper class 219 220class _IImageEvents : public COleDispatchDriver 221{ 222public: 223 _IImageEvents() {} // Calls COleDispatchDriver default constructor 224 _IImageEvents(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 225 _IImageEvents(const _IImageEvents& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 226 227// Attributes 228public: 229 230// Operations 231public: 232}; 233///////////////////////////////////////////////////////////////////////////// 234// IMiSelectRect wrapper class 235 236class IMiSelectRect : public COleDispatchDriver 237{ 238public: 239 IMiSelectRect() {} // Calls COleDispatchDriver default constructor 240 IMiSelectRect(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 241 IMiSelectRect(const IMiSelectRect& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 242 243// Attributes 244public: 245 246// Operations 247public: 248 long GetPageNumber();//获取当前所显示页面 249 long GetLeft(); 250 long GetTop(); 251 long GetRight(); 252 long GetBottom(); 253}; 254///////////////////////////////////////////////////////////////////////////// 255// IMiSelectRects wrapper class 256 257class IMiSelectRects : public COleDispatchDriver 258{ 259public: 260 IMiSelectRects() {} // Calls COleDispatchDriver default constructor 261 IMiSelectRects(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 262 IMiSelectRects(const IMiSelectRects& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 263 264// Attributes 265public: 266 267// Operations 268public: 269 long GetCount(); 270 LPUNKNOWN Get_NewEnum(); 271 LPDISPATCH GetItem(long Index); 272}; 273///////////////////////////////////////////////////////////////////////////// 274// IMiSelectableItem wrapper class 275 276class IMiSelectableItem : public COleDispatchDriver 277{ 278public: 279 IMiSelectableItem() {} // Calls COleDispatchDriver default constructor 280 IMiSelectableItem(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 281 IMiSelectableItem(const IMiSelectableItem& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 282 283// Attributes 284public: 285 286// Operations 287public: 288 void CopyToClipboard(); //拷贝所选择文本到剪贴板 289 CString GetText(); //获取选择区域所辨认出的文本 290 LPDISPATCH GetWords(); //获得所辨认出的文本的字符集合 291 LPDISPATCH GetSelectRects();//返回一个选择区域 292}; 293///////////////////////////////////////////////////////////////////////////// 294// IMiSelectableImage wrapper class 295 296class IMiSelectableImage : public COleDispatchDriver 297{ 298public: 299 IMiSelectableImage() {} // Calls COleDispatchDriver default constructor 300 IMiSelectableImage(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 301 IMiSelectableImage(const IMiSelectableImage& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 302 303// Attributes 304public: 305 306// Operations 307public: 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 315class IMiDocView : public COleDispatchDriver 316{ 317public: 318 IMiDocView() {} // Calls COleDispatchDriver default constructor 319 IMiDocView(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 320 IMiDocView(const IMiDocView& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 321 322// Attributes 323public: 324 325// Operations 326public: 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 360class _IMiDocViewEvents : public COleDispatchDriver 361{ 362public: 363 _IMiDocViewEvents() {} // Calls COleDispatchDriver default constructor 364 _IMiDocViewEvents(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 365 _IMiDocViewEvents(const _IMiDocViewEvents& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 366 367// Attributes 368public: 369 370// Operations 371public: 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 383class IMiDocSearch : public COleDispatchDriver 384{ 385public: 386 IMiDocSearch() {} // Calls COleDispatchDriver default constructor 387 IMiDocSearch(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} 388 IMiDocSearch(const IMiDocSearch& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} 389 390// Attributes 391public: 392 393// Operations 394public: 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
mdivwctl.cpp 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 9static char THIS_FILE[] = __FILE__; 10#endif 11 12 13 14///////////////////////////////////////////////////////////////////////////// 15// IMiFont properties 16 17///////////////////////////////////////////////////////////////////////////// 18// IMiFont operations 19 20long IMiFont::GetFamily() 21{ 22 long result; 23 InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 24 return result; 25} 26 27long IMiFont::GetFaceStyle() 28{ 29 long result; 30 InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 31 return result; 32} 33 34long IMiFont::GetSerifStyle() 35{ 36 long result; 37 InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 38 return result; 39} 40 41short 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 55long IMiRect::GetTop() 56{ 57 long result; 58 InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 59 return result; 60} 61 62long IMiRect::GetLeft() 63{ 64 long result; 65 InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 66 return result; 67} 68 69long IMiRect::GetRight() 70{ 71 long result; 72 InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 73 return result; 74} 75 76long 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 90long IMiRects::GetCount() 91{ 92 long result; 93 InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 94 return result; 95} 96 97LPUNKNOWN IMiRects::Get_NewEnum() 98{ 99 LPUNKNOWN result; 100 InvokeHelper(0xfffffffc, DISPATCH_PROPERTYGET, VT_UNKNOWN, (void*)&result, NULL); 101 return result; 102} 103 104LPDISPATCH 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 121short IWord::GetRecognitionConfidence() 122{ 123 short result; 124 InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL); 125 return result; 126} 127 128long IWord::GetFontId() 129{ 130 long result; 131 InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 132 return result; 133} 134 135long IWord::GetLineId() 136{ 137 long result; 138 InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 139 return result; 140} 141 142long IWord::GetRegionId() 143{ 144 long result; 145 InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 146 return result; 147} 148 149CString IWord::GetText() 150{ 151 CString result; 152 InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); 153 return result; 154} 155 156LPDISPATCH IWord::GetFont() 157{ 158 LPDISPATCH result; 159 InvokeHelper(0x7, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL); 160 return result; 161} 162 163long IWord::GetId() 164{ 165 long result; 166 InvokeHelper(0x8, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 167 return result; 168} 169 170LPDISPATCH 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 184long IWords::GetCount() 185{ 186 long result; 187 InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 188 return result; 189} 190 191LPUNKNOWN IWords::Get_NewEnum() 192{ 193 LPUNKNOWN result; 194 InvokeHelper(0xfffffffc, DISPATCH_PROPERTYGET, VT_UNKNOWN, (void*)&result, NULL); 195 return result; 196} 197 198LPDISPATCH 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 215long ILayout::GetLanguage() 216{ 217 long result; 218 InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 219 return result; 220} 221 222long ILayout::GetNumChars() 223{ 224 long result; 225 InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 226 return result; 227} 228 229long ILayout::GetNumWords() 230{ 231 long result; 232 InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 233 return result; 234} 235 236long ILayout::GetNumFonts() 237{ 238 long result; 239 InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 240 return result; 241} 242 243CString ILayout::GetText() 244{ 245 CString result; 246 InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); 247 return result; 248} 249 250LPDISPATCH 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 264LPDISPATCH IImage::GetLayout() 265{ 266 LPDISPATCH result; 267 InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL); 268 return result; 269} 270 271long IImage::GetPixelWidth() 272{ 273 long result; 274 InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 275 return result; 276} 277 278long IImage::GetPixelHeight() 279{ 280 long result; 281 InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 282 return result; 283} 284 285long IImage::GetXdpi() 286{ 287 long result; 288 InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 289 return result; 290} 291 292long IImage::GetYdpi() 293{ 294 long result; 295 InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 296 return result; 297} 298 299long IImage::GetBitsPerPixel() 300{ 301 long result; 302 InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 303 return result; 304} 305 306LPDISPATCH 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 316LPDISPATCH IImage::GetPicture() 317{ 318 LPDISPATCH result; 319 InvokeHelper(0x8, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL); 320 return result; 321} 322 323long IImage::GetCompression() 324{ 325 long result; 326 InvokeHelper(0x9, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 327 return result; 328} 329 330void 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 338void 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 353long IImages::GetCount() 354{ 355 long result; 356 InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 357 return result; 358} 359 360void 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 368LPUNKNOWN IImages::Get_NewEnum() 369{ 370 LPUNKNOWN result; 371 InvokeHelper(0xfffffffc, DISPATCH_PROPERTYGET, VT_UNKNOWN, (void*)&result, NULL); 372 return result; 373} 374 375LPDISPATCH 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 385void 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 400void IDocument::Save() 401{ 402 InvokeHelper(0x2, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); 403} 404 405void 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 413void 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 421LPDISPATCH IDocument::GetImages() 422{ 423 LPDISPATCH result; 424 InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL); 425 return result; 426} 427 428LPDISPATCH IDocument::GetBuiltInDocumentProperties() 429{ 430 LPDISPATCH result; 431 InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL); 432 return result; 433} 434 435LPDISPATCH IDocument::GetCustomDocumentProperties() 436{ 437 LPDISPATCH result; 438 InvokeHelper(0x7, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL); 439 return result; 440} 441 442void 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 450BOOL IDocument::GetDirty() 451{ 452 BOOL result; 453 InvokeHelper(0x9, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); 454 return result; 455} 456 457void 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 465void 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 494long IMiSelectRect::GetPageNumber() 495{ 496 long result; 497 InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 498 return result; 499} 500 501long IMiSelectRect::GetLeft() 502{ 503 long result; 504 InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 505 return result; 506} 507 508long IMiSelectRect::GetTop() 509{ 510 long result; 511 InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 512 return result; 513} 514 515long IMiSelectRect::GetRight() 516{ 517 long result; 518 InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 519 return result; 520} 521 522long 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 536long IMiSelectRects::GetCount() 537{ 538 long result; 539 InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 540 return result; 541} 542 543LPUNKNOWN IMiSelectRects::Get_NewEnum() 544{ 545 LPUNKNOWN result; 546 InvokeHelper(0xfffffffc, DISPATCH_PROPERTYGET, VT_UNKNOWN, (void*)&result, NULL); 547 return result; 548} 549 550LPDISPATCH 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 567void IMiSelectableItem::CopyToClipboard() 568{ 569 InvokeHelper(0x1, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); 570} 571 572CString IMiSelectableItem::GetText() 573{ 574 CString result; 575 InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); 576 return result; 577} 578 579LPDISPATCH IMiSelectableItem::GetWords() 580{ 581 LPDISPATCH result; 582 InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL); 583 return result; 584} 585 586LPDISPATCH 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 600void 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 608LPDISPATCH 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 618void 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 633LPUNKNOWN IMiDocView::GetDocument() 634{ 635 LPUNKNOWN result; 636 InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_UNKNOWN, (void*)&result, NULL); 637 return result; 638} 639 640void 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 648CString IMiDocView::GetFileName() 649{ 650 CString result; 651 InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); 652 return result; 653} 654 655void 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 663long IMiDocView::GetNumPages() 664{ 665 long result; 666 InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 667 return result; 668} 669 670void 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 678void 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 686void 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 694void 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 702void 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 710void 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 718long IMiDocView::GetDocViewMode() 719{ 720 long result; 721 InvokeHelper(0x17, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 722 return result; 723} 724 725void 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 733long IMiDocView::GetPageNum() 734{ 735 long result; 736 InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 737 return result; 738} 739 740void 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 748void 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 756void 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 764long IMiDocView::GetFitMode() 765{ 766 long result; 767 InvokeHelper(0xa, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 768 return result; 769} 770 771void 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 779long IMiDocView::GetActionState() 780{ 781 long result; 782 InvokeHelper(0xb, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); 783 return result; 784} 785 786void 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 794LPDISPATCH IMiDocView::GetTextSelection() 795{ 796 LPDISPATCH result; 797 InvokeHelper(0xc, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL); 798 return result; 799} 800 801void 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 809LPDISPATCH IMiDocView::GetImageSelection() 810{ 811 LPDISPATCH result; 812 InvokeHelper(0x2f, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL); 813 return result; 814} 815 816void 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 824void 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 832void 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 840void 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 848BOOL 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 872void 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 880void 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
|