유명한 개발도서들은 대부분 학교 전자도서관에서 빌려볼 수 있다. 그치만 대여기간이 정해져 있기에 두꺼운 책은 기간안에 읽기가 거의 불가능하다. 그래서 저작권을 위반하지 않는 선에서 개인 참고용으로 Ebook을 저장하는 스크립트를 만들어 사용하고 있다. AppleScript는 Automator라는 기본앱으로 쉽게 실행할 수 있다.
주의사항
- 처음 스크립트를 실행하면 맥북 시스템에 대한 권한을 요청한다. 권한을 허용하고 Automator를 다시 실행해보자.
- 선택 영역 좌표값을 적당히 계산해서 넣어야 한다. 자신의 모니터 해상도를 알아내어 적당히 조정해보자.
- 이북 앱이 최상단에 있어야 페이지 넘김이 제대로 작동한다. 따라서 스크립트 실행 중에 앱 전환을 하지 말고 기다리자.
소스코드
-- 기본 변수 설정
set repeatCount to 10 -- 캡쳐 반복 횟수 (예: 10번 캡쳐)
set baseFolder to "/Users/devin/Ebooks/" -- 기본 저장 경로
set ebookName to "Ebook1" -- 이북별 폴더 이름 (필요 시 변경)
set ebookFolder to baseFolder & ebookName
set captureRect to {100, 60, 1080, 1380} -- 선택 영역의 좌표값 (왼쪽 상단 X, 왼쪽 상단 Y, 가로 길이, 세로 길이)
-- 저장 폴더가 존재하지 않으면 생성
do shell script "mkdir -p " & quoted form of ebookFolder
-- 이북 앱을 최상위로 활성화 (여기서 '이북앱'을 실제 앱 이름으로 변경하세요)
tell application "교보도서관" to activate
-- 앱이 완전히 활성화될 수 있도록 잠시 대기 (2초)
delay 2
-- 반복 캡쳐
repeat repeatCount times
-- 현재 시간을 년-월-일-시-분-초 형식으로 얻기 (소수점 이하 초는 추가 도구 필요)
set currentDate to do shell script "date +%Y-%m-%d-%H-%M-%S"
set fileName to currentDate & ".png"
set filePath to ebookFolder & "/" & fileName
-- -x 옵션: 캡쳐 시 소리와 미리보기 없이 진행
do shell script "screencapture -R" & (item 1 of captureRect) & "," & (item 2 of captureRect) & "," & (item 3 of captureRect) & "," & (item 4 of captureRect) & " " & quoted form of POSIX path of filePath
tell application "System Events"
key code 124 -- 오른쪽 방향키 코드 (예시)
end tell
-- 페이지 전환을 고려해 1초 대기
delay 1
end repeat
캡쳐 이미지 PDF로 만들기
참고
- https://velog.io/@devstone/MACapplescript%EC%99%80-automator%EB%A1%9C-%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7-%EC%98%A4%EB%8A%98-%EB%82%A0%EC%A7%9C-%ED%8F%B4%EB%8D%94%EC%97%90-%EC%A0%80%EC%9E%A5%EB%90%98%EB%8F%84%EB%A1%9D-%EC%9E%90%EB%8F%99%ED%99%94%ED%95%98%EA%B8%B0
- https://imnotdeveloper.tistory.com/50
- https://shanepark.tistory.com/379