Wyszukaj numer strony za pomocą PDF Expert i Applescript

0

Próbuję napisać skrypt AppleScript, które zostanie otwarte pdf agile.pdfz PDF Experti wyszukać numer strony.

Zbliżam się do następującego skryptu:

do shell script "open agile.pdf"
delay 1.0

tell application "System Events" 
  tell application process "PDF Expert"
    click menu item "Go to Page..."  of menu 1 of menu bar item "Go"  of menu bar 1
    keystroke "42"
    key code 76
  end tell
end tell

Problemem jest mój skrypt, ponieważ działa on tylko wtedy, gdy „kliknąłem” w PDF Expertokno.

Czy mogę powiedzieć Applescript, aby „kliknął w okno Eksperta PDF po otwarciu?

Ponadto mogę powiedzieć Applescript, aby „czekał, aż pojawi się okno?

Czytałem inną odpowiedź, która sprawia, że ​​wygląda na to, że następujące będą działać, ale nie działa:

repeat until window "agile" of process "PDF Expert" exists
end repeat

Zrobiłem trochę grzebania w UIElementInspector, jak zalecono w innej odpowiedzi . To jest wynik PDF Expertokna:

<AXApplication: “PDF Expert>
 <AXWindow: “agile>
  <AXSplitGroup>
   <AXScrollArea>

Attributes:
   AXHorizontalScrollBar:  “<AXScrollBar>”
   AXParent:  “<AXSplitGroup>”
   AXChildren:  “<array of size 5>”
   AXFocused (W):  “1”
   AXSize:  “w=892 h=649”
   AXRole:  “AXScrollArea”
   AXTopLevelUIElement:  “<AXWindow: “agile>”
   AXHelp:  “(null)”
   AXChildrenInNavigationOrder:  “<array of size 5>”
   AXPosition:  “x=292 y=-803”
   AXWindow:  “<AXWindow: “agile>”
   AXRoleDescription:  “scroll area”
   AXVerticalScrollBar:  “<AXScrollBar>”
   AXContents:  “<array of size 3>”
   AXFrame:  “x=292 y=-803 w=892 h=649”

Actions:
   AXScrollLeftByPage - scroll left by a page
   AXScrollRightByPage - scroll right by a page
   AXScrollUpByPage - scroll up by a page
   AXScrollDownByPage - scroll down by a page
Mbigras
źródło
Nie mam aplikacji do testowania, ale tell application process "PDF Expert" to activateupewnię się, że znajdzie się na froncie, a także przypadkowo upuści inne polecenia z powrotem do zdarzeń systemowych.
Tetsujin,
Dziękuję za odpowiedź, czy możesz podać przykład. Nie wiem, gdzie umieścić swój wiersz w moim kodzie.
mbigras
Muszę jakoś powiedzieć Applescript, aby „kliknął okno Eksperta PDF”, w przeciwnym razie Ekspert PDF nie zareaguje na resztę poleceń. Jak na razie activate application "PDF Expert"nie działa.
mbigras
Po co używać skryptu powłoki do otwarcia pliku; Czy PDFExpert nie obsługuje polecenia Otwórz? Możesz to sprawdzić w słowniku PDFExpert. Powinien także w pełni obsługiwać polecenie aktywacji.
Max Wyss,

Odpowiedzi:

1

PDF Experi keystroke "42"nie działa dla mnie.

Jednak korzystanie Skimi key codedziała:

do shell script "open -a Skim agile.pdf"
delay 0.1

tell application "System Events" 
  tell application process "Skim"
    tell application "System Events" to tell process "Skim" to click menu item "Go to Page…" of menu "Go" of menu bar 1
    delay 0.1
    key code {21, 19, 36}
  end tell
end tell
Mbigras
źródło
0

To powinno ci pomóc

do shell script "open agile.pdf"
delay 1.0
activate application "PDF Expert"
delay 1 -- you may need to adjust this
tell application "System Events"
    tell process "PDF Expert"
        click menu item "Go to Page..." of menu 1 of menu bar item "Go" of menu bar 1
    end tell
end tell
wch1zpink
źródło
Nie działa, z jakiegoś powodu PDF Expertnie rozpoznaje poleceń Applescript, chyba że zostało „kliknięte”. SkimWydaje mi się, że eksperymentowanie działa lepiej.
mbigras
To dość dziwne, ponieważ właśnie pobrałem eksperta PDF i sam uruchomiłem skrypt i działa. Możesz spróbować dostosować czasy opóźnienia. Uruchomiłem skrypt bez polecenia „do script script”. Miałem już eksperta w dziedzinie plików PDF z otwartym dokumentem. Potem uruchomiłem skrypt.
wch1zpink
Tak dziwne ... zdecydowanie działa tylko dla mnie, jeśli najpierw kliknę okno i uruchomię skrypt. Ja też nie jestem w stanie keystroke "123", muszękey code {18,19,20}
mbigras