Link to home
Start Free TrialLog in
Avatar of gadoontextile
gadoontextile

asked on

Screenshot Reader Utility for Windows

Hi Guys !

I am looking for an windows based utility to grab screen data on one minute time interval and transfer it into TEXT file automatically.

ABBYY Screenshot Reader is doing the same thing, but it only work when we command the utility to do so and did not work to capture the screen continuously.

Thanks
online-rate.jpg
ASKER CERTIFIED SOLUTION
Avatar of Joe Winograd
Joe Winograd
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of gadoontextile
gadoontextile

ASKER

Hi joewinograd,

Thanks for your response, below is answer of your questions

* Where is the screen data located? Is it a full screen?
I WANT TO SCAN FULL SCREEN

* Is it a single-monitor or multi-monitor configuration?
SINGLE MONITOR

* Is it a window/app (or a tab within one)
WINDOWS APP
Personally  scripting or ffdshow stuff is outside my experience,
however there is also CCTV - or IP camera  as a side idea till you get some returns on your question
but you have me thinking why you would need such a thing, maybe to monitor the access of your computer?
add a small cam in the corner of the room and point it to your monitor/ desktop have it snap a shot in time intervals.
How is an IP Camera Different than a Web Cam?
diy-home-surveillance
True IP covert wireless camera
There is keystroke logger
How to Set Up “NannyCam” Surveillance with Skype
OK, I think I understand. In an automated fashion, once per minute, you want to capture the full screen (in a single monitor configuration), then OCR the captured image to create text, then store the text created by the OCR process in a text file. Is that right? If not, let me know what I got wrong; if so, another question: do you want to overwrite the same text file each time, such as [ScreenData.txt], or append to the same file, or create a new file with a unique filename each time, perhaps [ScreenData_YYYY-MM-DD_hh.mm.ss.txt]? Regards, Joe
gadoontextile, Joe, Merete.  Just for your info, and to save you from testing it out, the Kadmos OCR Plugin for IrfanView (http://irfanview.info/plugins/kadmos/) does not work very well in extracting text from the sample JPG, and I don't think it can be launched from the command line either.

gadoontextile.  You said:
>>> "ABBYY Screenshot Reader is doing the same thing, but it only work when we command the utility to do so and did not work to capture the screen continuously." <<<

When you say "command the utility to do so", are you referring to opening the program interface, selecting an area, and clicking on a scan button, or are you referring to launching it from Command Line (eg. "DOS" batch file)?

I am not familiar with the ABBYY Screenshot Reader (http://www.abbyy.com/screenshot_reader), but it looks as though it installs as a Macro type add-on in Microsoft Word in which it opens the extracted text.  If that is the case, then I am wondering whether you could create some VBA in a separate Word document that automates a full screen capture and save, and you could therefore schedule this event with a timer.  Do you know if ABBYY Screenshot Reader can be launched from within MS Word?

Personally I would probably just use one of the freely available "automation" utility programs that allows you to walk your way through a set of manual processes while compiling a Macro script which it then packages into one EXE file.  When run, the EXE file just replays what manual activity you receorded.  There would be some learning involved, although it's not as though you really need to learn a new programming language, because these programs use "wizards" to lead you through the process step by step.  Examples: AutoIT and AutoHotKey, although there are others both free and retail:
http://en.wikipedia.org/wiki/Comparison_of_macro_recorder_software
Hi Bill,
I gave up on the Kadmos PlugIn a long time ago. It doesn't perform well even on the most straightforward source docs. I re-try it every so often, but it never seems to improve any (according to the time stamp on the download, my last attempt was in 2012-March...maybe it's time to try again).

I don't think ABBYY Screenshot Reader installs a Macro or Add-in in Word...I don't have either a Macro or Add-in (in Word 2007) after installing it. It probably just uses some form of automation to launch Word and pass it the text created by its OCR process. Regards, Joe
Hi gadoontextile,
I haven't heard back from you on my questions, but I decided to move forward assuming that my understanding is correct and that you'll be ok with a new file each time named [ScreenCapture_YYYY-MM-DD_hh.mm.ss.txt], where YYYY-MM-DD_hh.mm.ss is, of course, the date/time of the screen capture/grab.

I wrote a script in the AutoHotkey language that calls ABBYY Screenshot Reader (ASR). You'll need to download and install AutoHotkey:
http://www.autohotkey.com/

Here's the source code for the script:

SetBatchLines,-1 ; run at maximum speed
; run ABBYY Screenshot Reader once manually and configure it as follows:
; Capture: Screen
; Language: whatever you want
; Send: Text to file
; navigate to a folder for the text file...it will remember this folder

; make sure ABBYY Screenshot Reader is installed
ASRexe:="notfound"
IfExist,C:\Program Files (x86)\ABBYY Screenshot Reader\ScreenshotReader.exe
  ASRexe:="C:\Program Files (x86)\ABBYY Screenshot Reader\ScreenshotReader.exe"
IfExist,C:\Program Files\ABBYY Screenshot Reader\ScreenshotReader.exe
  ASRexe:="C:\Program Files\ABBYY Screenshot Reader\ScreenshotReader.exe"
If (ASRexe="notfound")
{
  MsgBox,16,Fatal Error,
  (
ABBYY Screenshot Reader program not found in standard location [Program Files or Program Files (x86)].
Either install it in standard location or manually modify this script with its location.
Program will now exit.
  )
  ExitApp
}

; script runs forever...to stop it, right-click on icon in tray and select Exit
Loop
{
  IfWinNotExist,ABBYY Screenshot Reader
  {
    ; if ASR is not running, run it
    Run,%ASRexe%
    Loop
    {
      ; wait until ASR is running
      IfWinExist,ABBYY Screenshot Reader
        Break
      Else
        Continue
    }
    ; ASR is running, make sure it's the active window
    WinActivate
    ; send Alt-Enter, which takes the snapshot
    Send !{Enter}
    Loop
    {
      ; wait until the Save Text As dialog appears
      IfWinExist,Save Text As
        Break
      Else
        Continue
    }
    ; create filename as ScreenCapture_yyyy-MM-dd_HH.mm.ss
    FormatTime,ScreenCapSuffix,A_Now,yyyy-MM-dd_HH.mm.ss
    ScreenCapFN:="ScreenCapture_" . ScreenCapSuffix
    ; send the filename and the Enter key
    Send %ScreenCapFN%
    Send {Enter}
    ; wait for 60 seconds and do it again
    Sleep 60000
  }
}

Open in new window


For your convenience, it is also attached in a file called [asrdata.ahk], which is simply a plain text file containing the script...just download it. After installing AutoHotkey, it will own the AHK file type, so you may run the script by simply double-clicking it. You may also right-click on the AHK file and compile it into a stand-alone EXE if you prefer.

Before you use the script, run ASR once manually and configure it as follows (these ASR parameters are sticky):

Capture: Screen
Language: whatever you want
Send: Text to file

In the first (manual) run, navigate to a folder for the text file...it is also sticky...ASR will remember this folder for all future runs. If you want something fancier, modify the script, which is reasonably well-documented with comments.

The script runs forever...to stop it, right-click on the AHK icon in the system tray and select Exit. Again, if you want something fancier, modify the script.

I tested this here numerous times and it worked perfectly, but, as is always the case, YMMV. Regards, Joe
asrdata.ahk
Hi  joewinograd,

i am glad you have fully understand my requirement, i would prefer to append the text file instead of creating new one.

please allow me to test your given script, will revert accordingly.

By the way, i got a solution which really work if the desire screen shot is coming from any website. there is an option in EXCEL 2010. Goto to DATA option, here you will find FROM WEB option, click on it, Define your desire URL link and that's it. EXCEL will automatically collect data from desire URL and update it in excel sheet on user define time interval.
I'm travelling today and won't have time to look at this until Sunday or Monday. But two quick comments: (1) Appending the file is easy. The current logic can stay, then simply use AHK's FileRead command to read the file that ASR created into a variable, then AHK's FileAppend command to append that variable to the combined text file, then AHK's FileDelete command to delete the file that ASR created. (2) I have Office 2007 and Office 2013, not Office 2010. In any case, I doubt that the DATA option is doing OCR, but I don't know (I'll look later). However, I was assuming that you're using ASR because you need OCR. If the contents of the screen are already data and OCR is not needed, then screen capture, which creates a raster image (thereby necessitating OCR), is probably not the way to go. Regards, Joe
I don't have Office 2010 (still using 2003 because I like it), so I cannot check what happens with the DATA option in Excel.  Excel 2003 has the following option under the Data menu:  Import External Data > New Web Query.  A new dialog appears and loads your Home Page within it.  You enter a URL (paste, type manually, or select from drop-down list of previously accessed URLs in the dialog's "address" field, click the "go" button alongside it, and it loads the page inside the dialog.

The query function tries to find "tabular" data on the web page and indicates these blocks of data by surrounding them with a box and displaying a little black arrow in a yellow box to the left of each block of data it thinks is a table of some kind.  You can select one or more by clicking this arrow icon and click the "Import" button.  You are prompted to add the data to a new range within the existing and current worksheet or to create a new sheet and import it there.  You have some options for the data under the "Properties" button of the dialog before committing.

Once imported, you can use the "External Data" toolbar to Edit the Query or the options from the Data menu > Import External Data > Edit Query item.

In Excel 2003 this isn't doing OCR.  It's just looking for what it thinks is data laid out in a table which will be reasonably represented in a spreadsheet.  That isn't to say that it doesn't work though.  It all depends on the target web page.  Here is the Data in an Excel sheet from the two tables on this page:
http://www.parcelforce.com/send-uk/our-uk-prices/understanding-account-pricing
User generated imageHere is the original source page:
User generated image
If Office 2010 is doing OCR, then it could be using the MODI (Microsoft Document Imaging) optional component which I don't think is installed by default with MS Office.
gadoontextile,
Two follow-up comments:

(1) [Data>From Web] in Excel 2007 is not doing OCR (and I doubt if 2010 or 2013 are doing OCR). When you give it the URL, it expects to find text/data there, not a raster image that needs to be OCR'ed.

(2) While I'm curious if you tested my script, I'm going to repeat my comment from earlier: If the contents of the screen are already text/data, then any form of screen capture (including ABBYY Screenshot Reader), which creates a raster image (thereby necessitating OCR in order to create text/data), is not the way to go. In other words, if the spreadsheet of interest is already text/data, then do not capture it as a raster image and OCR it.


BillDL,
Microsoft Office Document Imaging (MODI) was bundled with Office 2003 and 2007. It was removed from Office 2010, but here's an article on how to install it in 2010:
http://support.microsoft.com/kb/982760

I don't know if the same procedure will work for installing MODI in Office 2013. In any case, I'm nearly certain that the Data feature in Excel is not calling MODI to perform OCR.

Regards, Joe