PDFの各ページを自動的にスクリーンキャプチャする方法 python programming

保護されたPDFの場合、一定期間が経過すると閲覧できなくなるものがあります。しかしどうしても手元に記録として残しておきたい場合もあるかもしれません。そんな場合の苦肉の策としてPDFをスクリーンキャプチャしておくということが考えられます。しかしそのPDFが何百ページもあると手作業で行うことは現実的でありません。そこでpythonプログラミングで自動的にスクリーンキャプチャするコードを作りました。

# PDFをスクリーンキャプチャー
# アドビアクロバットプロでPDFを開いている前提。それとJupyterを動かしているウェブブラウザ以外は、アプリケーションやウインドウは開かないこと。
# http://python.geo.jp/

import pyautogui
from datetime import datetime
import time

pyautogui.hotkey(‘alt’, ‘esc’)#PDFのウインドウを前に
pyautogui.hotkey(‘alt’,’v’)#アドビアクロバットプロ メニューで「表示」を選択全画面表示
pyautogui.keyDown(‘f’)#アドビアクロバットプロ 全画面表示
time.sleep(5)#needs enough time 最初はこれくらい必要

for i in range(100):#PDFのページの全ページ数の数字を入れること

screen_shot = pyautogui.screenshot() #スクリーンキャプチャー
t = datetime.now()
current_time = t.strftime(“%Y%m%d_%H%M%S_”)#現在時刻をファイル名に使うため

#画像を保存 保存したければコメントアウトすること
# screen_shot.save(current_time+str(t.microsecond)+’.png’)

pyautogui.press(‘enter’)#画面を次のページに
time.sleep(1)#needs enough time 1秒で十分だった。0.5秒でもよかったかも。