Jump to content
Sign in to follow this  
realshyfox

Adobe acobat

Recommended Posts

Hy, I have a litlle problem.

I have a protected Acrobat form that I must fill automayically. I interact with the fields through JS automation. This is the simple part.

The hard part is that it has a reset fields control that, for security reasons, it doesn´t let me fill the fieds until I press that button.

What I would like to know is if it exists a way to move the cursor at the specified x, y client coordinates specified into the Control AVL_AVView.

More specific: In the acrobat document view control you can move the mouse and see it´s coordinates (View menu -> Cursor Coordinates) acording to AVL_AVView window. Can I position my cursor to those coordinates so my click can reach that button ?

Thank you.


Learn, learn and ... learn

Share this post


Link to post
Share on other sites

Come on ... anyone?

MouseMove() & a combo of information obtained from AU3Info. Also perhaps have a little look at >> http://www.autoitscript.com/wiki/Forums

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Share this post


Link to post
Share on other sites

MouseMove() & a combo of information obtained from AU3Info. Also perhaps have a little look at >> http://www.autoitscript.com/wiki/Forums

No can do. We talk about multiple clients, different screen sizes. I cannot trust mousemove coordinates.

It seems, after more digging, that my js script line is under security provisions in Acrobat 9.x.

My code looks like this:

$fileForm = "d:\md.Pdf"
$fileImport = "d:\md_dat.fdf"

$App = ObjCreate("AcroExch.App")
$App.Show
$AVDoc = ObjCreate("AcroExch.AVDoc")

If $AVDoc.Open($FileForm,"") Then
   $PDDoc = $AVDoc.GetPDDoc()

   $JSO = $PDDoc.GetJSObject
   $JSO.ImportAnFDF($fileImport) ; this line I shall change so just pass over it because to see these imported values I must click a button that lets 
                                 ;the form´s fields capture my values
   $Field = $JSO.GetField("T(47)")

   $JSO.GetField("T(47)").ReadOnly = False
   $JSO.GetField("T(47)").Value = "My Value"

EndIf

But when I call the line

$JSO.GetField("T(47)").ReadOnly = False
I get the JS console that tells that due the security options it can´t run my code line. So, I discovered that only those items that are in the "white list" can be executed this way. How can I pass this item to that whitelist ?

Learn, learn and ... learn

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...