On Oct 19, 2011, at 8:44 AM, Peter M. Brigham, MD wrote: > On Oct 18, 2011, at 3:47 PM, Francis Nugent Dixon wrote: > >> Hi from beautiful Brittany, >> >> Graham wrote : >> >>> Where does the PDF page appear? I mean is it in a stack window, >> >>> and could it be manipulated by a LiveCode program ? >> >> The answer is YES ! >> >> I may be a little late on this thread, 'cos I've been trying >> to solve the problem myself. I appear to have made progress >> - to whit : pick up a page of a pdf file and get it as text >> into a stack. Save it on an external file, then read it back >> into the stack - Long-winded but effective. >> >> Don't ask me what happens to non-text data in the page - I >> haven't got that far, YET ! >> >> After playing about with Skim, and scanning all examples >> available on the net, I think you can do just about anything >> with Skim and AppleScript. >> >> Of course, my example was developed on a MAC. >> >> File "SkimTest1.pdf" contains text ONLY. >> "MyPagesC" is a field containing the required page number. >> "MySkim" is the reception field in my stack >> >> TestStack available on request (save you coding it all up) >> >> Be careful of line wraps. >> >> Best Regards >> >> -Francis >> >> >> put "tell application " & quote & "Skim" & quote into line 1 of >> GVMasterScript >> put "set " & LVDeskTop & " to path to desktop as string" into line 2 of >> GVMasterScript >> put "open (" & LVDeskTop & " & " & quote & "SkimTest1.pdf" & quote & ")" >> into line 3 of GVMasterScript >> put "tell document 1" into line 4 of GVMasterScript >> put char 1 to 3 of field "MyPagesC" into GVPage >> put "go to page " & GVPage into line 5 of GVMasterScript >> put "set " & GVTextData & " to (get text for page " & GVPage & ")" into >> line 6 of GVMasterScript >> put "tell application " & quote & "TextEdit" & quote into line 7 of >> GVMasterScript >> put "activate" into line 8 of GVMasterScript >> put "make new document" into line 9 of GVMasterScript >> put "set text of document 1 to GVTextData as text" into line 10 of >> GVMasterScript >> put "save document 1 in (LVDeskTop " & " & " & quote & "SkimOut.txt" & >> quote & ")" into line 11 of GVMasterScript >> put "end tell" into line 12 of GVMasterScript >> put "end tell" into line 13 of GVMasterScript >> put "activate" into line 14 of GVMasterScript >> put "end tell" into line 15 of GVMasterScript >> -- >> -- AppleScript is now complete. So execute it ! >> -- >> do GVMasterScript as AppleScript >> put GVDeskTop & "/" & "SkimOut.txt" into LVSkimName >> if there is a file LVSkimName then >> open file LVSkimName >> put 0 into LVSkimLines >> repeat forever >> read from file LVSkimName until return >> put it into LVInputArea >> if LVInputArea is empty then exit repeat >> add 1 to LVSkimLines >> put LVInputArea into line LVSkimLines of field MySkim >> end repeat >> close file LVSkimName >> show field "MySkim" >> end if > > Can you not just return GVTextData as the result from your AppleScript and > then put that into your field directly? Do you have to go through writing it > to a file then getting it from the file?
Right, you should be able to do this (untested): put char 1 to 3 of field "MyPagesC" into GVPage put "tell app " & quote & "Skim" & quote & cr & \ "set " & LVDeskTop & " to path to desktop as string" & cr & \ "open (" & LVDeskTop & " & " & quote & "SkimTest1.pdf" & quote & ")" & cr & \ "tell document 1" & cr & "go to page " & GVPage & cr & \ "set result to (get text for page " & GVPage & ")" & cr & \ "end tell" & cr & "end tell" into GVMasterScript do GVMasterScript as AppleScript put the result into field "MySkim" show field "MySkim" Ken Ray Sons of Thunder Software, Inc. Email: k...@sonsothunder.com Web Site: http://www.sonsothunder.com/ _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode