Reading text on a screen

Hey everyone. I'm working on a program that will read the text displayed in another program. When a certain keyword appears in the other program's text, my program will log it. The programs would run on a Windows system.
Unfortuantely I'm not sure how to go about this. My guess is I would have to do some low-level programming and "listen in" to all the draw messages going through the system. In many ways this would resemble the text-to-speech programs used by the blind. However I don't know how to do this. Does anyone have any ideas?
I appreciate any help you all can give me.

taking a screen capture and setting it to a grid seems like a terrible idea.
you can use jpcap to capture packets in java (There are to projects with this same name, that do the same thing, take your pick).
That will work if text your are searching for is transmitted plain-text. Another thing I would do is try to find out where this text is coming from and if there is an api to hook yourself up to it.
This wouldn't be an attempt to detect market news would it?

Similar Messages

  • Reading texts on watch screen

    Getting to grips with the SW3 - Previously had a Martian passport which seemed a lot more user firendly. Can read emails I receive from google fine. When I receive a text on the match I receive a notification that  I have received a text but am not able to open it other than on the phone(which defeats one of my principal reasons for getting the watch) any help would be appreciated.
    Solved!
    Go to Solution.

    If I get one SMS then I can tap the window to open it on my watch but if I get two or more then I have to view on my phone but Gmail having two or more is fine and I can read all
    For a successful technology, reality must take precedence over public relations, for Nature cannot be fooled.   Richard P. Feynman

  • Limit to Custom Screen Reader Text for 508 Compliance

    I am converting forms for a government Agency. The forms must be Section 508 compliant. Some pages of the forms are full pages of instructional text. I am using a single field to contain all of the accessibility text so that I can control the flow of information through the tab order with limited additional tabbing from the original version. I am adding all of the text in a Jaws friendly format into the Custom Screen Reader Text field under the Accessibility tab in the Object window. When I test the form, Jaws stops reading the Accessibility text about 980 characters in. The only way to get it to read the text in its entirety is to use the down arrow key, which forces the Jaws reader to read it line by line. This is not desirable. Has anyone else experienced this? Why is there a seemingly arbitrary limit to how much Accessibility text that can be passed to Jaws?
    I am using Livecycle 7.1 and testing in Acrobat Professional 7 and Adobe Reader 8 with Dynamic PDF 7.0.5.

    An associate in the field told me this is not a problem with Adobe's product. Rather it is a problem with Jaws. Apparently he has the same problem with Jaws and IBM Workplace Forms.

  • Reading text from server socket stream

    I have a basic cd input program i've been trying to figure out the following problem for a while now, the user enters the artist and title etc and then a DOM (XML) file is created in memory this is then sent to the server. The server then echos back the results which is later printed on a html page by reading the replys from the server line by line.
    The server must be run it listens for clients connecting the clients connect and send DOM documents through the following jsp code.
    <%@page import="java.io.*"%>
    <%@page import="java.net.*"%>
    <%@page import="javax.xml.parsers.*"%>
    <%@page import="org.w3c.dom.*"%>
    <%@page import="org.apache.xml.serialize.*"%>
    <%!
       public static final String serverHost = "cdserver";
       public static final int serverPort = 10151;
    %>
    <hr />
    <pre>
    <%
            Socket mySocket = null;          // socket object
            PrintWriter sockOut = null;      // to send data to the socket
            BufferedReader sockIn = null;    // to receive data from the socket
            try {
                //  #1 add line that creates a client socket
                mySocket = new Socket(serverHost, serverPort);
                // #2 add lines that create input and output streams
                //            attached to the socket you just created
                 sockOut = new PrintWriter(mySocket.getOutputStream(), true);
                 sockIn = new BufferedReader(new InputStreamReader(mySocket.getInputStream()));
            } catch (UnknownHostException e) {
                throw e; // This time the JSP can handle the exception, not us
            } catch (IOException e) {
                throw e; // This time the JSP can handle the exception, not us
    String cdTitle, cdArtist, track1Title, track1Time, track1Rating;
    // Retrieve the HTML form field values
    cdTitle = request.getParameter("cdtitle");
    cdArtist = request.getParameter("cdartist");
    track1Title = request.getParameter("track1title");
    track1Time = request.getParameter("track1time");
    track1Rating = request.getParameter("track1rating");
    // Create a new DOM factory, and from that a new DOM builder object
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    // Note that we are creating a new (empty) document
    Document document = builder.newDocument();
    // The root element of our document wil be <cd>
    // It gets stored as the child node of the whole document (it is the root)
    Element rootElement = document.createElement("cd");
    document.appendChild(rootElement);
    // Create an element for the CD title called <title>
    Element cdTitleElement = document.createElement("title");
    // Add a text code under the <title> element with the value that
    // the user entered into the title field of the web form (cdTitle)
    cdTitleElement.appendChild(document.createTextNode(cdTitle));
    // Place the <title> element underneath the <cd> element in the tree
    rootElement.appendChild(cdTitleElement);
    // Create an <artist> element with the form data, place underneath <cd>
    Element cdArtistElement = document.createElement("artist");
    cdArtistElement.appendChild(document.createTextNode(cdArtist));
    rootElement.appendChild(cdArtistElement);
    // Create a <tracklist> element and place it underneath <cd> in the tree
    // Note that it has no text node associated with it (it not a leaf node)
    Element trackListElement = document.createElement("tracklist");
    rootElement.appendChild(trackListElement);
    // In this example we only have one track, so it is not necessary to
    // use a loop (in fact it is quite silly)
    // But the code below is included to demonstrate how you could loop
    // through and add a set of different tracks one by one if you
    // needed to (although you would need to have the track data already
    // stored in an array or a java.util.Vector or similar
    int numTracks = 1;
    for (int i=0; i<numTracks; i++) {
      String trackNum = Integer.toString(i+1);
      Element trackElement = document.createElement("track");
      trackElement.setAttribute("id", trackNum);
      trackListElement.appendChild(trackElement);
      // Track title element called <title>, placed underneath <track>
      Element trackTitleElement = document.createElement("title");
      trackTitleElement.appendChild(document.createTextNode(track1Title));
      trackElement.appendChild(trackTitleElement);
      // Track time element called <time>, placed underneath <track>
      Element trackTimeElement = document.createElement("time");
      trackTimeElement.appendChild(document.createTextNode(track1Time));
      trackElement.appendChild(trackTimeElement);
      // Track rating element called <rating>, placed underneath <track>
      Element trackRatingElement = document.createElement("rating");
      trackRatingElement.appendChild(document.createTextNode(track1Rating));
      trackElement.appendChild(trackRatingElement);
    OutputFormat format = new OutputFormat();
    format.setIndenting(true);
    // Create a new XMLSerializer that will be used to write out the XML
    // This time we will serialize it to the socket
    // #3 change this line so that it serializes to the socket,
    // not to the "out" object
    XMLSerializer serializer = new XMLSerializer(writer, format);
    serializer.serialize(document);
            // Print out a message to indicate the end of the data, and
            // flush the stream so all the data gets sent now
            sockOut.println("<!--QUIT-->");
            sockOut.flush();
            BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
            String fromServer;
            String fromUser;
             #4 add a while loop that reads text from the
            server socket input stream, line by line, and prints
            it out to the web page, using out.println(...);
            Note that because the reply from the server will contain
            XML, you will need to call upon the toHTMLString() method
            defined below to escape the < and > symbols so that they
            will display correctly in the web browser.
            Also note that as you receive the reply back from the
            server, you should look out for the special <!--QUIT-->
            string that will indicate when there is no more data
            to receive.
            while ((fromServer = sockIn.readLine()) != null) {
            out.println(sockIn.readLine());
                // If the reply from the server said "QUIT", exit from the
                // while loop by using a break statement.
                if (fromServer.equals("QUIT")) {
                    out.println("Connection closed - good bye ...");
                // Print the text from the server out to the user's screen
                out.println("Reply from Server: " + fromServer);
                // Now read a line of text from the keyboard (typed by user)
                fromUser = stdIn.readLine();
                // If it wasn't null, print it out to the screen, and also
                // print a copy of it out to the socket
                if (fromUser != null) {
                    out.println("Client: " + fromUser);
                    sockOut.println(fromUser);
            // Close all the streams we have open, and then close the socket
            sockOut.close();
            sockIn.close();
            mySocket.close();
    %>
    I'm suppose to modify the commented sections labled with #.
    #1,2 are correct but i have doubts on the 3rd and 4th modification.
    for #3 i changed so i serializes to the socket not to the "out" object:
    from
    XMLSerializer serializer = new XMLSerializer(out, format);
    to
    XMLSerializer serializer = new XMLSerializer(writer, format);
    with "out" it prints out some of the results entered but it just hangs i'm thinking it might be the while loop that i added in #4. If i changed it to serialize the socket XMLSerializer serializer = new XMLSerializer(writer, format); it doesn't print out nothing at all; just a blank screen where it hangs.
    I can post the rest of the code (server thats in java and cdinput.html) but since i want to keep my post short and if required i'll post it later on i also omitted some of the code where it creates the DOM textnodes etc to keep my post short.

    On your previous thread, why did you say the server was using http POST and application/xml content type when it quite obviously isn't, but a direct socket communication that abuses XML comments for message end delimiters?
    The comments imply you need to wait for "<!--QUIT-->" on a line by itself, but your loop is waiting for "QUIT".
    Pete

  • Suddenly the text on my screen is blurry.

    My computer was fine earlier today. I went out (left it on and it went into sleep mode). When I returned, the text on the screen was all blurry. Not only that, but it changed the size of the screen so that nothing that's on it fits as it is supposed to.
    Oddly, when I created a second account, there was nothing wrong with the screen in that account.
    I've loaded all the current updates.
    My bad, though - my last back up was in December (thought I had Time Machine on but it seems I turned it off some time after the end of December, don't recall why or when exactly).
    This appears to be a software issue.
    Is there a fix?

    Didn't work.
    And how would the resolution of the screen change without someone fiddling with it?
    No, this isn't a screen resolution problem. It looks like the system has lost connection to the font it is supposed to display. There are no recognizable fonts in any of the items I open. It looks like a kind of generic font with odd colour shadows behind letters.
    When I created a new account, the display was perfect.
    How does something like this happen spontaneously? I was absent from my computer - and no one else has access to it - for a couple of hours and whatever happened, happened in that time I was absent.
    I need to get this fixed right away as I have a graphic design project coming in shortly and I really need to see the font I will be working in.

  • Text on my screen is blurry/fuzzy

    hello. i accidentally hit a key (not sure which one) the other day, and then i noticed that my desktop background had changed from my customized background to the default blue Mac screen. no big deal, i just changed it back to the picture i had up before. but ever since then, the text on my screen has looked blurry. its a subtle difference but it's definitely noticeable, and a bit irritating to my vision. i tried adjusting the font text smoothness using the system preferences - appearance function, but nothing has helped. any help???
    thanks,
    nada

    It sounds like the resolution may have accidentally been changed. Check in Displays preferences. It should be set to 1280 x 800.

  • Display Key & Text In Variable Screen

    Hi All,
    I am having one master data Location having Attribute and Text data loaded.
    I am using the same Location as a characteristics in my DSO and then in Query .
    Now, i have create one variable on Location. When i am executing the query , and click on Location Help. It will show only Text values. I want to have Location Key as along with Text in the variable selection screen.
    Please suggest.
    Regards,
    Macwan James.

    Hi James,
    for infoobject Location you can swith to both key and Text at variable screen.
    please do this setting.
    RSA1 -> select DSO  change mode -> go to the infoobject Location right click select  "Provider-specific properties"
    Display " 0 Key and text" select this and activate DSO.
    please check at the selection screen.
    Best Regards.

  • How to get iPhone Safari to format text for its screen

    My wife loves her iPhone, but there's one thing that's very frustrating: Safari likes to format pages so that only a small portion fits on the screen, and you have to scroll left and right to read the text. If you use a "pinch" to shrink the window, the font size also shrinks so that the text becomes unreadable.
    I've tested this with a few very simple HTML pages that I've created, just text with a few andtags, and nothing with a width= or size= attribute. We still have the same problem. Safari doesn't seem to want to wrap the text at all; it either displays a page at a tiny font or in a readable font with most of the text off the screen.
    I've also tested these pages with assorted other browsers, including Safari and the other dozen browsers I've installed on this Macbook Pro. All of them automatically wrap the text to fit whatever size window I use, including some very tiny windows. Also, the browser on my G1 "google" phone handles the pages just fine, using my default font and reformatting automatically when I rotate the phone to landscape format so that the text fits within the window.
    The only browser I've seen this problem with is on the iPhone. found the Settings screen, looked through the Safari settings and didn't see anything relevant.
    Any ideas what's wrong here? Or is the iPhone's Safari just flakey for simple text?

    The pinching gesture is used to zoom in and out on a page. It's not resizing the window.
    OK; I obviously don't know the right jargon. That's why I posted on a general discussion "support" forum rather than looking for a more technical one; I was hoping that my incorrect n00b terminology could be tolerated enough for people to try to understand the problem and point at some clues.
    To try to explain it in different (and probably still not correct) terminology, Safari on the iPhone acts like it's formatting the text of even my simple HTML text pages for a large physical "page", and giving me a choice of how I want to view it. I can zoom out and see the whole piece of text, but the font is so tiny that it's unreadable (even with a magnifying glass . Or I can zoom in, in which case the screen becomes a small window that shows only a small portion of the text, and I have to pan left and right to read it, because the "page" width is now several times the screen width. Both choices make for slow, difficult reading.
    I don't see this behavior in any other of the couple dozen browsers on 4 or 5 machines. What they do is respond to a change in the "window" size by reformatting the text so it fits within the window's width, scrolling off the bottom if there's too much text. This is easy to read, because vertical scrolling works well on all of them, and there's no need to pan left and right while reading a line of text.
    This was pretty much how HTML and browsers were originally intended to work, with the browser doing line wrapping as needed to fit the available screen width. The screen as a window into a much larger page is seen much less often. When it is seen, it's mostly because the web designers included lots of "width=" attributes to force the page to be some minimum width, typically much wider that any smartphone's screen. But my test pages don't do this, and all other browsers successfully format them to be readable even in very narrow windows. Our iPhone's Safari doesn't seem to do this formatting; it formats the text for a width wider than the screen even when there's no formatting information in the HTML.
    The obvious question is: Can the iPhone's Safari be persuaded to use more common scheme of doing line-wrapping to make the text fit into the visible screen?
    The G1's browser has an especially impressive demo of how it could be done. If I rotate that gadget, it reformats between portrait and landscape mode on the fly, and the text is always line-wrapped to fit the current screen width. So a paragraph that takes, say, 7 lines in portrait mode will switch to 4 lines as I rotate it to landscape mode, with the same font size. The iPhone has the same sort of switching, of course, but it "reformats" the text by changing the zoom factor, which isn't nearly the same thing. And for some of my test pages, the text runs off the right margin in both portrait and landscape mode. I have no clue why it chooses a "page" width that's so much wider than the screen, sometimes 4 or 5 times the screen width, but that's what it does, and it's very hard to read.
    So is there a way to tell it to stop doing this, and use line wrapping like other browsers do to fit the text into the visible screen width?

  • Reading Texts from Infotype

    Hi,
    How can we read texts from the Infotype. There is this function module HR_ECM_READ_TEXT_INFOTYPE, but we need the Employee Number, Begin date and End Date as inputs.
    I just want to check if a field with a particular value exists or not.
    just like this works to check whether the field DAT35 with value 99991231 exits or not.
    SELECT PERNR FROM PA0035 INTO V_PERNR WHERE DAT35 = '99991231'.
    IF SY-SUBRC = 0.
    ENDIF.
    the same way for a text, but this text actually gets stored in a structure thats why we cannot use a select for infotype
    Thanks in advance.

    Hi,
    What i am getting from ur explanation is that u are having a probelm in accessing a text field from the infotype, i.e: the value field in included in the infotype table (PA0035) but its text is in another table.
    If this is the problem, u should first use select statement on PA0035 to get the required infotype record. Then use F1 help on the required text field on the infotype screen to get the table and field name. Then u can use select statement on that table by specifying the relavant value field from the previous select in the where clause.
    Hope this hepls

  • Getting VoiceOver to read text

    I have just begun to use VoiceOver. My real issue is that while I am able to navigate the cursor around my screen, I am not able to get VoiceOver to speak in the text or html content areas. I know that I have missed something very basic, but it has eluded me for several hours of looking through VoiceOver Help. What I want to use VoiceOver for primarily is reading text -- e-mails, articles, PDFs and Word documents. I have enough vision to see what is on the screen but any lengthy text is difficult and tiring for me to read, even with magnification.
    I am working on an iMac G4.
    Can anyone get me started?
    What I would really love is a basic step by step guide, especially covering the preferences options.
    Thanks,
    Mary

    Hello and welcome, Mary!
    When you get to a "Text Content" or "HTML Content" box, you have to "interact with" it by pressing Ctrl-Option-Shift-Down Arrow. If it doesn't immediately start reading, press Ctrl-Option-A.
    For a superb general introduction to VoiceOver, have a look at . For someone with useable sight, the keyboard layout with commands in colour on the Apple website is a very good way of finding all the possible functions quickly, and is available here. You can print it out as big as you like and stick it on the wall next to the computer!
    Enjoy your iMac and VoiceOver!
    Archie

  • Plan order text in CM29 screen

        How to display plan order text in CM29 screen? Reply appreciated.

    Hello,
    I don't know any. Since there is a customer exit exactly for changing the text for the bar, I believe there is not a customization step.
    Regards.

  • Reach function  "find" on a text  appearing on screen

    I reached a text on my screen from a références  law site like an act or a rule. I am looking for a specific word in the text: ex. Discrimination. Is there any function i CAN use to get directly to the word "discrimination" otherwise than scrolling every page?
    Thank you for any help.
    F.Leduc

    If you are using Safari on the iPad, enter the text or word on the search field next to the URL field and the scroll to the bottom of the window that pops up from that search and at the bottom you can select the "on this page" option to search text on the web page.

  • How Edit text push button screen standard

    Hello Experts,
        In SAPMV56A program when I see the display screen 1025 in screen painter there are some buttons with the
    name of structures, for example :
    RV56A-ICON_STDIS
    RV56A-ICON_STREG
    RV56A-ICON_STLBG
    RV56A-ICON_STLAD
    RV56A-ICON_STABF
    RV56A-ICON_STTBG
    RV56A-ICON_STTEN
    the problem is that when I run this program, transaction "VT01N" the text that appears on these buttons is different
    the text that is screen painter, there is a transaction where I can define what should be the text that I want
    appear for these buttons?
    thanks for your help.

    Okay this is an old thread, but as it`s not answered...
    I found a way to change the labels of the pushbuttons, as follow:
    On SE80:
    Program SAPMV56A
    Screen 1025
    Go to -> Translate
    Insert your destination language
    Expand the <SRT4> and double click the
    SAPMV56A                                1025      / VTR
    There you can translate the buttons that are used on the screen. this modification is applied to VT01n/VT02n/VT03n.
    Some labels on the left part of the screen (not the buttons) get the text from DDIC, for those you`ll have to translate the data element on CMOD.

  • How to download / read  text attachment  in Sender Mail Adapter  IN XI

    Hi
    I would like to know how to download / read text attachment in sender mail Adapter & sent same attachment to target system using file adapter.
    Please help how to design / resolve this concept.
    Regards
    DSR

    I would like to know how to download / read text attachment in sender mail Adapter & sent same
    attachment to target system using file adapter.
    Take help from this blog:
    /people/michal.krawczyk2/blog/2005/12/18/xi-sender-mail-adapter--payloadswapbean--step-by-step
    From the blog:
    However in most cases
    our message will not be a part of the e-mail's payload but will be sent as a file attachment.
    Can XI's mail adapter handle such scenarios? Sure it can but with a little help
    from the PayloadSwapBean adapter module
    Once your message (attachment) is read by the sender CC, you can perform the basic mapping requirement (if any) to convert the mail message fromat to the file format.....configure a receiver FILE CC and send the message...this should be the design...
    Regards,
    Abhishek.

  • Some times when I press the home button to read my finger the screen becomes black and it shows the Apple logo, this take a few seconds to get back the screen and this has been happening even 3 or 4 times in a row!   What should I do?

    Some times when I press the home button to read my finger the screen becomes black and it shows the Apple logo, this take a few seconds to get back the screen and this has been happening even 3 or 4 times in a row!
    What should I do?

    Basic troubleshooting from the User's Guide is reset, restart, restore (first from backup then as new).  Try each of these in order until the issue is resolved.

Maybe you are looking for