Версия AutoIt: 3.
Описание: Просьба помочь с автоматизацией работы с PDF.
1. скрипт запускается через командную строку: scriptname.exe -file
где file полное имя файла, например c:/pdffolder/1.pdf
2. В системе файл ассоциирован с adobe acrobat reader, поэтому достаточно просто запустить.
3. В открытой программе выполнить команду File->Save as->Text... нажать кнопку "Сохранить".
Если пункт меню File->Save as->Text... не доступен, то выполнить пункт 5.
4. Закрыть Acrobat Reader после выполнения задачи. Завершить скрипт.
5. Создать файл txt с тем же именем, что и pdf с содержанием "secured". В нашем примере файл будет называться c:/pdffolder/1.txt. После закрыть Acrobat reader и завершить скрипт
Примечания:
Просьба помочь разобраться, как написать такой скрипт, так как мои знания AutoIt примерно равны 0 (только вчера узнал что это такое). Уверен, что задача не сложная, но если не прав, готов оплатить услуги.
Добавлено:
Поскольку никаких вариантов не предложено, начал разбираться сам. Пока пришел к такому скрипту:
Остается не решенным момент, каким образом определить, что процесс сохранения завершен и приложение можно закрывать. Визуально, пока идет процесс сохранения Adobe Reader не реагирует ни на что и висит курсор "часы", в нижней части окна бежит прогресс бар. Что из этого можно использовать и каким образом?
<hr/>
Разобрался. Всем спасибо...
Описание: Просьба помочь с автоматизацией работы с PDF.
1. скрипт запускается через командную строку: scriptname.exe -file
где file полное имя файла, например c:/pdffolder/1.pdf
2. В системе файл ассоциирован с adobe acrobat reader, поэтому достаточно просто запустить.
3. В открытой программе выполнить команду File->Save as->Text... нажать кнопку "Сохранить".
Если пункт меню File->Save as->Text... не доступен, то выполнить пункт 5.
4. Закрыть Acrobat Reader после выполнения задачи. Завершить скрипт.
5. Создать файл txt с тем же именем, что и pdf с содержанием "secured". В нашем примере файл будет называться c:/pdffolder/1.txt. После закрыть Acrobat reader и завершить скрипт
Примечания:
Просьба помочь разобраться, как написать такой скрипт, так как мои знания AutoIt примерно равны 0 (только вчера узнал что это такое). Уверен, что задача не сложная, но если не прав, готов оплатить услуги.
Добавлено:
Сообщение автоматически объединено:
Поскольку никаких вариантов не предложено, начал разбираться сам. Пока пришел к такому скрипту:
Код:
$AReader = "C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe";
$ATitle = "Adobe Reader";
$FOpenTitle = "Открыть";
$FSaveTitle = "Сохранить";
Opt("SendKeyDelay", 20);
If $CmdLine[0] = 0 Then
$FileName = "C:\PDFFiles\1.pdf"; #отладка
Else
$FileName = $CmdLine[1]; #командная строка
EndIf
RUN($AReader);
$ReaderWnd = WinWait($ATitle, "", 10);
If Not $ReaderWnd Then
Exit
EndIf
ControlSend($ReaderWnd, "", "", "{Alt}F");
Sleep(100);
ControlSend($ReaderWnd, "", "", "{Enter}");
$OpenDialogWnd = WinWait($FOpenTitle, "", 3);
Sleep(500); #иначе начало строки путается
ControlSend($OpenDialogWnd, "", "Edit1", $FileName);
ControlSend($OpenDialogWnd, "", "", "{Enter}");
Sleep(2000); #чтобы было
ControlSend($ReaderWnd, "", "", "{Alt}FAx");#File
$SaveDialogWnd = WinWait($FSaveTitle, "", 3);
If Not $SaveDialogWnd Then
#сохраняем secured
$TxtFileName = StringLeft($FileName, StringLen($FileName) - 4) & ".txt"
$TxtFile = FileOpen($TxtFileName, 2)
FileWrite($TxtFile, "secured")
FileClose($TxtFile);
WinKill($ReaderWnd)
Exit
EndIf
ControlSend($SaveDialogWnd, "", "", "{Enter}");#File
#ждем, пока не будет сохранен файл
#WinKill($ReaderWnd)
Остается не решенным момент, каким образом определить, что процесс сохранения завершен и приложение можно закрывать. Визуально, пока идет процесс сохранения Adobe Reader не реагирует ни на что и висит курсор "часы", в нижней части окна бежит прогресс бар. Что из этого можно использовать и каким образом?
<hr/>
Разобрался. Всем спасибо...