Thanks guys. I have downloaded and installed both the Basic 2008 and C++ 2008 versions and installed the 2005 JAWS scripts which say they work for 2008 as well. I plan to use Basic to learn the Studio environment. If I need to develop this DLNA client, I would probably use C++ and join the blind programmers list. I have not given up on stretching Windows Media Player 12, which almost sees all of my Internet content from the PlayOn software from PlayOn.tv and send the video to a DLNA display (PS3, WII, or DirecTV DVR) with it's PlayTo feature. Don Marang -------------------------------------------------- From: "Chris Hallsworth" <christopherh40@xxxxxxxxxxxxxx> Sent: Sunday, January 31, 2010 12:43 PM To: <jawsscripts@xxxxxxxxxxxxx> Subject: [jawsscripts] Re: OCRSnapObject Failing! > It might not be a bad idea to download the full offline package, which > is distributed as a DVD iso. It contains all the Express editions, as > well as any required or optional components like MSDN Express and .Net > Framework. Just a thought. > > Chris Hallsworth > e-mail and Facebook: christopherh40@xxxxxxxxxxxxxx > MSN: ch9675@xxxxxxxxxxx > Skype: chrishallsworth7266 > > On 31/01/2010 17:11, Soronel Haetir wrote: >> Yes, Express is more than sufficient for what you are doing. It may, >> however, require quite a few seperate downloads to get the various >> libraries you need. I know VS2008 can use through at least .NET 3.5 >> but forget if that's something you need to download or if it's >> included in the Express package. Note that the .NET run-time you >> download from windows update is not the full development package, >> there is more you can find on msdn.microsoft.com. >> >> On 1/31/10, Donald Marang<donald.marang@xxxxxxxxx> wrote: >>> Thanks! I will give it a try as I play around with Visual Studio >>> Express. >>> Is Express sucificent to write .Net applications? I may want to write a >>> DLNA (Digital Living Network Alliance) application in the near future. >>> >>> Don Marang >>> >>> -------------------------------------------------- >>> From: "Martin Slack"<m.g.slack@xxxxxxxxxxxx> >>> Sent: Sunday, January 31, 2010 4:48 AM >>> To:<jawsscripts@xxxxxxxxxxxxx> >>> Subject: [jawsscripts] Re: OCRSnapObject Failing! >>> >>>> Hi Don, >>>> >>>> Here is a VBScript version of your example which works on my system, >>>> using >>>> MS Office Pro 2003 on XP, even with Office 2003 SP3 installed. >>>> >>>> I've left a number of VBScript dialogs in place which you should be >>>> able >>>> to remove with no problem. >>>> >>>> Martin... >>>> >>>> Option Explicit >>>> >>>> Const forWriting = 2 >>>> Const forAppending = 8 >>>> >>>> Dim inputFile, outputFile >>>> Dim strRecText >>>> Dim Doc1 ' MODI.Document >>>> Dim imageCounter >>>> Dim fso, path, Count >>>> >>>> inputFile = "biscuits.tif" >>>> strRecText = "" >>>> >>>> ' Assuming .tif file is in same folder as .vbs file >>>> Set fso = CreateObject("Scripting.FileSystemObject") >>>> Set inputFile = fso.GetFile("biscuits.tif") >>>> path = inputFile.ShortPath >>>> >>>> WScript.Echo path >>>> >>>> Set Doc1 = CreateObject ("MODI.Document") >>>> Doc1.Create(path) >>>> Doc1.OCR() ' this will ocr all pages of a multi-page tiff file >>>> Doc1.Save() ' this will save the deskewed reoriented images, and the >>>> OCR >>>> text, back to the inputFile >>>> >>>> WScript.Echo "number of images: "& Doc1.Images.Count >>>> >>>> For Each imageCounter In Doc1.Images >>>> strRecText = strRecText& imageCounter.Layout.Text >>>> Next >>>> >>>> WScript.Echo strRecText >>>> >>>> ' this will write, not append >>>> Set outputFile= fso.CreateTextFile("c:\testfile.txt", forWriting) >>>> outputFile.Write (strRecText) >>>> outputFile.Close >>>> >>>> WScript.Echo "Text saved to "& "c:\testfile.txt" >>>> >>>> ' Clean up >>>> Doc1.Close() >>>> Set outputFile = Nothing >>>> Set Doc1 = Nothing >>>> Set inputFile = Nothing >>>> Set fso = Nothing >>>> >>>> >>>> ----- Original Message ----- >>>> From: "Donald Marang"<donald.marang@xxxxxxxxx> >>>> To:<jawsscripts@xxxxxxxxxxxxx> >>>> Sent: Saturday, January 30, 2010 11:45 PM >>>> Subject: [jawsscripts] OCRSnapObject Failing! >>>> >>>> >>>>> I think I have the basic structure and JAWS Script statements I >>>>> thought >>>>> should work. Unfortunately it returns nothing! How do you know if >>>>> the >>>>> CreateObject function returns the expected object? I attempt to >>>>> retrieve >>>>> the number of images (pages), I would expect a value of one, but >>>>> nothing >>>>> is >>>>> returned. Could someone familiar with objects in JAWS look to see if >>>>> I >>>>> made a dumb mistake? >>>>> I included a copy of a Visual Basic routine to OCR an image file and >>>>> writes the plain text to a file. I simplified this as I converted it >>>>> to >>>>> JAWS script code. I would think a screenshot image would only be one >>>>> page. >>>>> >>>>> Following the example is my script. Some of the necessary lines are >>>>> commented out until I ensure the active code is working. I also >>>>> attempted >>>>> to use my constant, MODI_DLL_PATH, directly in the CreateObject >>>>> statements. Both with single '\' and double '\\' characters. Doing >>>>> so >>>>> caused all three statements to fail. >>>>> >>>>> --- Start of example >>>>> Example from Wikipedia and MSDN for "MODI OCR" in Visual Basic .NET >>>>> </wiki/Visual_Basic_.NET> follows: >>>>> You can program the MODI object model from any development tool that >>>>> supports >>>>> the Component Object Model (COM) by setting a reference to the >>>>> Microsoft >>>>> Office >>>>> Document Imaging 11.0 (Office 2003) (or 12.0, which is Office 2007, I >>>>> saw >>>>> somewhere else) Type Library. >>>>> >>>>> Dim inputFile As String = "C:\test\multipage.tif" >>>>> Dim strRecText As String = "" >>>>> Dim Doc1 As MODI.Document >>>>> >>>>> Doc1 = New MODI.Document >>>>> Doc1.Create(inputFile) >>>>> Doc1.OCR() ' this will ocr all pages of a multi-page tiff file >>>>> Doc1.Save() ' this will save the deskewed reoriented images, and the >>>>> OCR >>>>> text, back to the inputFile >>>>> >>>>> For imageCounter As Integer = 0 To (Doc1.Images.Count - 1) ' work your >>>>> way >>>>> through each page of results >>>>> strRecText&= Doc1.Images(imageCounter).Layout.Text ' this puts >>>>> the >>>>> ocr results into a string >>>>> Next >>>>> >>>>> File.AppendAllText("C:\test\testmodi.txt", strRecText) ' write the >>>>> OCR >>>>> file out to disk >>>>> >>>>> Doc1.Close() ' clean up >>>>> Doc1 = Nothing >>>>> --- End of example >>>>> Include "hjconst.jsh" >>>>> >>>>> Const >>>>> CRLF = "\13\10", ; Cariage return followed by line feed character >>>>> SCREEN_CAPTURE_FILE = "ScreenCapture.tif", ; Temp file placed in the >>>>> JAWS >>>>> user settings directory >>>>> NIRCMD = "nircmd.exe", ; Command Line Utility from: >>>>> http://www.nirsoft.net/utils/nircmd.html >>>>> IMAGE_OCR = "MSPVIEW.EXE -o ", >>>>> IMAGE_READ = "MSPVIEW.EXE -r ", >>>>> ; Microsoft Office Document Imaging Viewer Control 11.0 or 12.0 >>>>> (MDIVWCTL.DLL) >>>>> MODI_DLL_PATH = "\"C:\\Program Files\\Common Files\\Microsoft >>>>> Shared\\MOD\\MDIVWCTL.DLL\"" >>>>> >>>>> Script OCRSnapshotObject () >>>>> Var >>>>> String sImageFile, >>>>> String sCmdUtility, >>>>> String sExecute, >>>>> Object oNull, >>>>> Object oDoc, >>>>> Object oAllImages, >>>>> Object oImage, >>>>> Object oLayout, >>>>> Int iCount, >>>>> Int iChars, >>>>> Int iWords, >>>>> String sText >>>>> >>>>> ; Close virtual buffer if open >>>>> If UserBufferIsActive () Then >>>>> UserBufferDeactivate () >>>>> EndIf >>>>> ; Set temporary image filename >>>>> Let sImageFile = GetJAWSSettingsDirectory () + "\\" + >>>>> SCREEN_CAPTURE_FILE >>>>> Let sImageFile = "\"" + sImageFile + "\"" ; Enclose in quotes in case >>>>> there is a space in the path >>>>> ; Set Command Line Utility path >>>>> Let sCmdUtility = GetJAWSSettingsDirectory () + "\\" + NIRCMD >>>>> Let sCmdUtility = "\"" + sCmdUtility + "\"" ; Enclose in quotes in >>>>> case >>>>> there is a space in the path >>>>> ; Capture image of foreground active window >>>>> Let sExecute = sCmdUtility + " savescreenshotwin " + sImageFile >>>>> ; SayString ("Will perform save screenshot to file = \"" + sExecute + >>>>> "\"") >>>>> Run (sExecute) >>>>> SayMessage (OT_MESSAGE, "Screen image has been captured. Please wait >>>>> for >>>>> OCR conversion.") >>>>> Delay (10) ; make sure the file is not in use >>>>> >>>>> ; Run Microsoft Office Document Imageing Object Model to perform OCR >>>>> ; Not sure how to create / open / register ovject as performed by >>>>> Visual.Net Basic in the nnext two lines >>>>> ; Dim Doc1 As MODI.Document >>>>> ; Let oDoc = New MODI.Document >>>>> >>>>> ; Method used in Homer Jax >>>>> Let oDoc = CreateObjectEx ("MODI.Document", False) >>>>> If ! oDoc Then >>>>> SayMessage (OT_ERROR, "Could not create object using first call!") >>>>> Let oDoc = CreateObject ("MODI.Document") >>>>> EndIf >>>>> If ! oDoc Then >>>>> SayMessage (OT_ERROR, "Could not create objectusing second call!") >>>>> ; Running out of possibilities, try the last variety >>>>> Let oDoc = CreateObjectEx ("MODI.Document", True) >>>>> EndIf >>>>> If ! oDoc Then >>>>> SayMessage (OT_ERROR, "Could not create objectusing third call!") >>>>> Return oNull >>>>> EndIf >>>>> SayString ("Document object created!") >>>>> oDoc.Create(sImageFile) ; loads the image into the object >>>>> ; SayString ("Image file =" + sImageFile) >>>>> Let oAllImages = oDoc.Images >>>>> Let iCount = oAllImages.Count >>>>> SayString ("pages in file = " + IntToString (iCount)) >>>>> ; oDoc.OCR() ; this will ocr all pages of a multi-page tiff file >>>>> ; oDoc.Save() ; this will save the deskewed reoriented images, and the >>>>> OCR >>>>> text, back to the inputFile >>>>> ; Let oImage = oDoc.Images(0) ; first page of possible multi-page >>>>> image >>>>> SayString ("OCR complete!") >>>>> ; Let oLayout = oImage.Layout ; OCR information >>>>> ; Let sText = oLayout.Text ; this puts the ocr results into a string >>>>> SayString ("text = \"" + sText + "\"") >>>>> ; Let iChars = oLayout.NumChars >>>>> ; Let iWords = oLayout.NumWords >>>>> SayMessage (OT_MESSAGE, "Screen image has been converted to text.") >>>>> SayMessage (OT_MESSAGE, "Converted " + IntToString (iChars) + " >>>>> characters, and " + IntToString (iWords) + " words") >>>>> >>>>> ; View converted text >>>>> SayMessage (OT_USER_BUFFER , sText + CRLF + "Press Escape to close >>>>> this >>>>> message.") >>>>> oDoc.Close() ; Clean up >>>>> Let oLayout = oNull >>>>> Let oImage =oNull >>>>> Let oAllImages = oNull >>>>> Let oDoc =oNull >>>>> EndScript >>>>> >>>>> Don Marang >>>>> __________ >>>>> Visit and contribute to The JAWS Script Repository >>>>> http://jawsscripts.com >>>>> >>>>> View the list's information and change your settings at >>>>> http://www.freelists.org/list/jawsscripts >>>>> >>>> >>>> __________ >>>> Visit and contribute to The JAWS Script Repository >>>> http://jawsscripts.com >>>> >>>> View the list's information and change your settings at >>>> http://www.freelists.org/list/jawsscripts >>>> >>> __________ >>> Visit and contribute to The JAWS Script Repository >>> http://jawsscripts.com >>> >>> View the list's information and change your settings at >>> http://www.freelists.org/list/jawsscripts >>> >>> >> >> > __________ > Visit and contribute to The JAWS Script Repository http://jawsscripts.com > > View the list's information and change your settings at > http://www.freelists.org/list/jawsscripts > __________ Visit and contribute to The JAWS Script Repository http://jawsscripts.com View the list's information and change your settings at http://www.freelists.org/list/jawsscripts