« [Skim]PostScriptファイルからPDFを作成する | トップページ | [メモ]用紙サイズ(ポイント換算) »

[PPDs]AcrobatPPDsをダウンロードして利用可能にする

本来のインストール先は
/Library/Printers/PPDs/Contents/Resourcesなのですが
『管理者権限』が必要なディレクトリなので
/Users/Shared/Library/Printers/PPDs/Contents/Resourcesにダウンロードします。


【スクリプトエディタで開く】

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
#
#                       com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
##自分環境がos12なので2.8にしているだけです
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions

property refMe : a reference to current application

set appFileManager to refMe's NSFileManager's defaultManager()


########################
#### PPD保存先ディレクトリ
########################
set ocidUserPathArray to (appFileManager's URLsForDirectory:(refMe's NSUserDirectory) inDomains:(refMe's NSLocalDomainMask))
set ocidUserPathURL to ocidUserPathArray's objectAtIndex:0
set ocidSaveDirPathURL to ocidUserPathURL's URLByAppendingPathComponent:"Shared/Library/Printers/PPDs/Contents/Resources/Acrobat/" isDirectory:true
set ocidAttrDict to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
ocidAttrDict's setValue:511 forKey:(refMe's NSFilePosixPermissions)
set listResults to appFileManager's createDirectoryAtURL:(ocidSaveDirPathURL) withIntermediateDirectories:true attributes:(ocidAttrDict) |error|:(reference)

########################
#### PPDファイルダウンロード
########################
set strZipFileURL to "https://force4u.cocolog-nifty.com/skywalker/files/acrobatppds.zip"
set ocidZipFilePath to (refMe's NSString's stringWithString:strZipFileURL)
set ocidZipFilePathURL to refMe's NSURL's alloc()'s initWithString:ocidZipFilePath
set ocidZipData to refMe's NSData's dataWithContentsOfURL:ocidZipFilePathURL

set ocidTempDirPathURL to appFileManager's temporaryDirectory()
set ocidSaveZipFilePathURL to ocidTempDirPathURL's URLByAppendingPathComponent:"acrobatppds.zip" isDirectory:false
set boolResults to ocidZipData's writeToURL:ocidSaveZipFilePathURL atomically:true

if boolResults is false then
  return "ダウンロードに失敗しました"
end if

########################
#### 解凍
########################
set strZipFilePathURL to ocidSaveZipFilePathURL's |path|() as text
set strSaveDirPathURL to (ocidSaveDirPathURL's URLByDeletingLastPathComponent())'s |path|() as text
try
  set theComandText to ("/usr/bin/ditto -xk  \"" & strZipFilePathURL & "\"   \"" & strSaveDirPathURL & "\"") as text
  do shell script theComandText
end try

return

|

« [Skim]PostScriptファイルからPDFを作成する | トップページ | [メモ]用紙サイズ(ポイント換算) »

Admin Printer」カテゴリの記事