OSX에서 웹 페이지를 PDF로 저장하는 "매크로"를 기록하는 방법


1

자주 OSX의 Chrome에서 페이지를 PDF로 저장합니다. 페이지는 apple-P이고 PDF 버튼과 "PDF로 저장 .."메뉴 항목을 클릭하십시오. 저는 항상 미리 채워진 파일 이름을 사용하고 기본 디렉토리에 저장합니다.

이것을 자동화 스크립트로 저장할 수 있습니까? 그게 가능한 경우 나는 어딘가에 크롬에 버튼으로 이것을 추가하고 싶다. 그래서 나는 "나중에 이것을 읽기 위해 이것을 저장할 수있다"

어떤 도움을 주셔서 감사합니다.


참고로, instapaper.com 오프라인 읽기를위한 웹 페이지 저장을위한 탁월한 서비스입니다.
ghoppe

그래, 나는 알고 있지만, 원하지 않는다. 나는 웹 페이지를 PDF로 저장하는 방법을 원합니다.
dwatson

답변:


2

Safari와 Chrome에서만 테스트했는데 이 실 더 복잡한 스크립트.

delay 0.3 -- time to release modifier keys if the script is run with a shortcut
tell application "System Events" to tell (process 1 where frontmost is true)
    if name is "Google Chrome" then
        keystroke "p" using {option down, command down}
        delay 0.1
        tell menu button 1 of window 1
            click
            click menu item "Save as PDF…" of menu 1
        end tell
        keystroke "l" using {option down, command down}
        keystroke return
    else
        keystroke "p" using command down
        tell menu button 1 of sheet 1 of window 1
            click
            click menu item "Save as PDF…" of menu 1
        end tell
        keystroke "l" using {option down, command down}
        keystroke return
    end if
end tell

당신은 또한 wkpdf 하지만 페이지를 다시로드해야하며 인증 또는 차단 광고와 함께 작동하지 않습니다.

tell application "Google Chrome" to tell active tab of window 1
    set u to URL
    set t to title
end tell
do shell script "wkpdf --source " & quoted form of u & " --output ~/Desktop/" & quoted form of t & ".pdf"

시스템 환경 설정에서 "PDF로 저장 ..."을 ⌘P에 할당 한 경우, 명령을 누른 상태에서 PP를 누르고 (크롬에서는 ⌥⌘P 및 ⌘P) 대화 상자를 열 수 있습니다.


이것은 몇 가지 사소한 수정을 통해 저에게 효과적이었습니다. Automator를 사용하여 입력이없는 서비스를 만들고 Chrome에서만 Run AppleScript 작업을 추가하고 Applescript 텍스트로 위의 스크립트를 붙여 넣었습니다. 그것은 Automator가 제공하는 "run ()"래퍼 (wrapper) 상에있는 그대로 또는 정상적으로 작동합니다. 새로운 Automator Service의 이름을 "ChromePrintPDF.workflow"로 지정했습니다. 그런 다음 시스템 환경 설정 & gt; 키보드 & gt; 단축키를 추가하고 새로운 서비스를위한 단축키를 추가했습니다. Ctrl + Alt + Opt + P를 사용하여 사전 정의 된 것과 충돌하지 않습니다. 그것은 작동합니다.
August Mohr

키스트 로크 이후와 "메뉴 버튼에 말하기"전에 "지연 0.1"을 늘려야했습니다. 왜냐하면 창을 띄우고 다른 것을하기 전에 Automator 오류가 계속 발생했기 때문입니다. 지연을 0.5로 늘렸고 더 이상 오류가 없었습니다. 원래 작성자의 시스템이 한 곳에서 나의 것보다 훨씬 빠르면 또 다른 곳에서도있을 수 있다는 생각에 기초하여 초기 지연을 0.3에서 0.5로 늘 렸습니다.
August Mohr

0

Automator에서 서비스 템플릿을 사용하십시오. 서비스 받음 입력 없음 ...에서 Chrome.app , 워크 플로는 유틸리티 & gt; 조심해, 그런 다음 인쇄 작업을 수행하여 Automator에서 캡처 할 수 있도록하십시오. (Chrome은 Automator 동작을 제공하지 않지만 Watch Me Do는 범용 액세스 만 필요합니다.)

다른 방법으로, AppleScript를 사용할 수 있지만, 일을 참조하는 방법을 정확히 연습하는 것은 "재미있을"수 있으며 사전에 표준을 언급하지 않는다는 것을 알 수 있습니다 인쇄 설정 인쇄 대화 상자를 제어하지 못할 수도 있습니다.


그가 어떻게 사용하면 녹음 할 수 있습니까? 조심해라. 행동을 명시 적으로? 나는 단지 그것을 할 수 있었다. 워크 플로우»기록 , 조심해라. 자동으로 또한 그는 Safari의 활성화 방법을주의 깊게 살펴야합니다. 창을 클릭하면 이름이 연결됩니다 ( 창 활성화 "google chrome - 기록 방법 ..." Dock 아이콘을 클릭하는 것이 더 안전합니다. 그리고 나는 그것을 재현하기가 힘듭니다. 자동 숨겨진 Dock이나 빠른 마우스 움직임을 좋아하지 않습니다.
Daniel Beck

그게 내가 바라는거야! Google 크롬 서비스 메뉴에 표시되지만 시도하면 오류가 발생합니다. " 'Watch Me Do'액션에 오류가있었습니다. Automator에서 조치를 취하십시오. -"File "메뉴를 클릭하십시오. - 인쇄 ... - PDF로 저장 ... - "저장"버튼을 클릭하십시오. PS - 나는 스스로 행동을 취하고 조심스럽게 자동 버튼에 기록 버튼을 누르십시오.
dwatson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.