サブプロセスを使用してデフォルト プログラムでファイルを開き、pyautogui ライブラリを使用してキーストロークを送信しています。
私の問題は、ファイルを開くときに、デフォルトのプログラムで開くのに時間がかかることです。もちろん、その時間はファイルによって異なります。
では、ファイルが最初に開かれ、キーストロークがファイルに送信されるように、スクリプトで一時停止を生成するにはどうすればよいでしょうか?
注: sleep() 関数は、私が期待しているものではありません。起動したアプリケーションとスクリプトの間にある種の非同期化が必要です。
from subprocess import Popen
from sys import argv
from pyautogui import press,hotkey
if len(argv)>0:
word = Popen(['start',argv[1]],shell=True)
press("f12")
press("tab")
press("right")
for i in range(5): press("down")
press("enter")
hotkey("alt","f4")
word = None
pdf = Popen(["C:\Program Files\Nitro\Pro 9\NitroPDF.exe",argv[1]])
hotkey("ctrl","shift","i")
press("enter")
hotkey("alt","f4")
Word文書を開いてキーストロークを送信し、pdfとして保存するプログラムを作成しています。次に、別の PDF エディターを開いて、そこから画像をエクスポートします。