// SmartOCR Lite Automation Script // マウス、キーボード入力をブロックする STOPFORM(True) // Stopウィンドウは出さない //LOCKHARD(True) // 管理者権限が必要 // メッセージ表示位置 PUBLIC msgx = 100 PUBLIC msgy = 100 // Exec SmartOCRID = EXEC("c:\Program Files\Smart Reading\SmartOCR Lite Edition 1.0\SmartOCRLE.exe") ifb SmartOCRID < 0 then MsgBox("SmartOCRを起動できませんでした") Exit endif // retrieve .NET Application GUI again GUIID = GETID("SmartOCR Lite Edition", , 0) // 1-3148 1-1999 FOR I = 1 to 1999 ISTR = I ILEN = LENGTH(I) FOR J = 0 to (3-ILEN) ISTR = "0" + ISTR NEXT convert(GUIID, "C:\Downloads\JAPIC2011\png\" + ISTR + ".png", "C:\Downloads\JAPIC2011\pdf\" + ISTR + ".pdf") NEXT // Exit Application WHILE !STATUS(GUIID, ST_VISIBLE)   Sleep(0.1) WEND WHILE STATUS(GUIID, ST_BUSY)   Sleep(0.1) WEND SCKEY(GUIID, VK_ALT, F, X) LockHard(False) Function convert(GUIID, input, output) ClkItem(GUIID, "画像を開く", CLK_MENU) OpenFID = GETID("画像を開く",,-1) WHILE STATUS(OpenFID, ST_BUSY)   Sleep(0.1) WEND SCKEY(OpenFID, VK_ALT, N) SendStr(OpenFID, input, 0, True) WHILE STATUS(OpenFID, ST_VISIBLE) SCKEY(OpenFID, VK_ALT, O) WEND OpenFID = -1 ProID = GETID("文字認識中...", , -1) WHILE STATUS(ProID, ST_VISIBLE)   Sleep(0.1) WEND WHILE STATUS(GUIID, ST_BUSY)   Sleep(0.1) WEND WHILE !ClkItem(GUIID, "認識結果を保存", CLK_MENU) Sleep(0.1) WEND SavesFID = GETID("認識結果を名前を付けて保存",,-1) WHILE STATUS(SavesFID, ST_BUSY)   Sleep(0.1) WEND SCKEY(SavesFID, VK_ALT, T) ClkItem(SavesFID, "PDF (透明テキスト)", CLK_LIST or CLK_SHORT) SCKEY(SavesFID, VK_ALT, N) SendStr(SavesFID, output, 0, True) WHILE STATUS(SavesFID, ST_VISIBLE) SCKEY(SavesFID, VK_ALT, S) WEND WHILE STATUS(SavesFID, ST_BUSY)   Sleep(0.1) WEND WHILE STATUS(SavesFID, ST_VISIBLE)   Sleep(0.1) WEND WHILE STATUS(GUIID, ST_BUSY)   Sleep(0.1) WEND CLKITEM(GUIID, "リストから全画像を削除します", CLK_ACC) OKGUIID = -1 WHILE OKGUIID = -1 OKGUIID = GETID("SmartOCR Lite Edition", "#32770", 0.4) WEND WHILE STATUS(OKGUIID, ST_BUSY)   Sleep(0.3) WEND CTRLWIN(OKGUIID, SHOW) CTRLWIN(OKGUIID, ACTIVATE) CTRLWIN(OKGUIID, TOPMOST) WHILE STATUS(OKGUIID, ST_VISIBLE) SCKEY(OKGUIID,VK_ALT, Y) WEND WHILE TRUE FINDBTN = -1 for i = 0 to GetItem(GUIID,ITM_TOOLBAR,,,TRUE)-1   if ALL_ITEM_LIST[i] = "結果保存" then FINDBTN = i next if FINDBTN = -1 THEN BREAK Sleep(0.4) WEND RESULT = 0 FEND