2016-12-27 2 views
0

今後の使用のためにウェブページを保存することが多く、このプロセスを試して合理化しようとしています。OS X - ドラッグするURL/weblogを検索すると、WebページのPDFが生成されます

私はサファリとファインダーを開いていると言います。 Finderには私の現在のプロジェクトが含まれています。私は研究しているウェブを閲覧し、関心のあるものを見つけ、サファリからウェブページアドレスをファインダーにドラッグすると、.weblocリンクが作成されます。

これはいくつかの理由で理想的ではありません。ウェブサイトが何らかの理由で削除または変更された場合

  1. .weblocファイルは、Windowsクライアント

  2. では動作しません、私のリンク は、本質的に

無効になる私は、理想的には何をしたいのかウェブサイトをPDFとしてキャプチャしています。私はPDFとしてエクスポートする適切なメニューオプションを選択することができますか、またはPDFなどとして印刷/保存することができます...しかし、それはより多くのステップを伴うことによって、また毎回エクスポートするフォルダを指定することによって私のワークフローを中断します。

私はAutomatorの/アップルスクリプトは、以下の擬似コードに沿って何かを助けることができるかもしれません考えていた。

If finder has item dropped on it 
    If the item is a URL or .Webloc 
     Use Safari’s built in functionality to generate a PDF from the URL in the folder the item was dropped on 
    end if 
end if 

はしかし、私はAppleScriptのに苦労見つけるのですか、そう誰も私を伝えることができるだろうもし私が入る前にこれが可能であれば?

ありがとうございます。

答えて

0

あなたが望むことを行う最善の方法は、AutomatorサービスとAppleScriptを混在させることです。

Automatorサービスには「run applescript」というアクションが1つしか含まれておらず、Safariからの選択としてテキストを受け取るように設定されています。 AppleScriptアクションは、次のとおりです。

on run {input, parameters} 

set myPath to "/Users/your_User/Desktop/Test_URL" -- set your default saving path 
tell application "Safari" 
activate 
set myURL to URL of front document 
set myURL to my CleanName(myURL) 
tell application "System Events" to tell application process "Safari" 
    click menu item 15 of menu 3 of menu bar 1 -- export as PDF (Safari 10.0.2/El Capitain) 
    delay 0.5 
    keystroke myURL & ".PDF" 
    delay 0.2 
    keystroke "g" using {command down, shift down} -- go to dialog 
    keystroke myPath -- path to saving folder 
    delay 0.2 
    keystroke return -- close go to dialog 
    delay 0.2 
    keystroke return -- close the save as dialog 
end tell 
end tell 
return input 
end run 

on CleanName(S) --replace special characters not allowed for file name with _ 
set AppleScript's text item delimiters to {":", "/", ","} 
set SL to text items of S 
set AppleScript's text item delimiters to {"_"} 
return SL as text 
end CleanName 

このスクリプトは、SafariのメニューのエクスポートをPDFとして使用することをシミュレートしています。別のバージョンのSafariを使用している場合、メニュー項目は私のものと異なる場合があります。調整してください。

私は、PDFファイルはURLの値に基づいていることを前提としています(最後に+ PDF!)。これを行うために、URLをクリーンアップしてOKのファイル名に変換するサブルーチンも追加します。私は、/:のようなすべての特殊文字をchar _で置き換えます。

変数myPathには、デフォルトの保存場所へのパスが含まれています。ユーザー名で 'your_user'を変更し、デスクトップにTEST_URLというフォルダが存在することを確認する必要があります。 このスクリプトには、特定のニーズに合わせるための多くのコメントが含まれています。

関連する問題