« [Rename]Windows互換名にリネーム(途中) | トップページ | [SVG]SVGでカラーチップを作る »

[SVG]svgをPDFに変換する(headless Chrome 利用)


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

#!/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 strBundleID to "com.google.Chrome" as text
##ワークスペース
set appSharedWorkspace to refMe's NSWorkspace's sharedWorkspace()
###バンドル取得
set ocidAppBundle to (refMe's NSBundle's bundleWithIdentifier:(strBundleID))
###バンドルからインストール先を求める
if ocidAppBundle ≠ (missing value) then
  set ocidAppPathURL to ocidAppBundle's bundleURL()
else if ocidAppBundle = (missing value) then
  set ocidAppPathURL to (appSharedWorkspace's URLForApplicationWithBundleIdentifier:(strBundleID))
end if
if ocidAppPathURL = (missing value) then
  tell application "Finder"
    try
      set aliasAppApth to (application file id strBundleID) as alias
    on error
return "アプリケーションが見つかりませんでした"
    end try
  end tell
  ###クロームのパス
  set strAppPath to POSIX path of aliasAppApth as text
  set strAppPathStr to refMe's NSString's stringWithString:(strAppPath)
  set strAppPath to strAppPathStr's stringByStandardizingPath()
  set ocidAppPathURL to refMe's NSURL's alloc()'s initFileURLWithPath:(ocidFilePath) isDirectory:true
end if
set ocidBinPathURL to ocidAppPathURL's URLByAppendingPathComponent:("Contents/MacOS/Google Chrome")
set strBinPath to ocidBinPathURL's |path|() as text
##############################
#####ダイアログ
##############################
##前面に出す
set strName to (name of current application) as text
if strName is "osascript" then
  tell application "Finder" to activate
else
  tell current application to activate
end if
###ダイアログ用デスクトップパス
set aliasDefaultLocation to path to desktop folder from user domain as alias
###ダイアログ
set listChooseFilePath to (choose file with prompt "ファイルを選んでください" default location aliasDefaultLocation of type {"public.svg-image"} with multiple selections allowed without showing package contents and invisibles) as list
##############################
#####本処理
##############################

####ファイルの数だけ繰り返し
repeat with itemFilePath in listChooseFilePath
  ###入力ファイルパス
  set aliasFilePath to itemFilePath as alias
  set strFilePath to (POSIX path of aliasFilePath) as text
  set ocidFilePathStr to (refMe's NSString's stringWithString:(strFilePath))
  set ocidFilePath to ocidFilePathStr's stringByStandardizingPath()
  ##出力PDFパス
  set ocidBaseFilePath to ocidFilePath's stringByDeletingPathExtension()
  set ocidPdfFilePath to (ocidBaseFilePath's stringByAppendingPathExtension:("pdf"))
  set strPdfFilePath to ocidPdfFilePath as text
  ###コマンド
  set strCommandText to ("\"" & strBinPath & "\" --headless --disable-gpu --print-to-pdf=\"" & strPdfFilePath & "\" --print-to-pdf-no-header \"" & strFilePath & "\"") as text
  ###実行
  set strRGBHEX to (do shell script strCommandText) as text
  
end repeat

return "処理終了"

|

« [Rename]Windows互換名にリネーム(途中) | トップページ | [SVG]SVGでカラーチップを作る »

AppleScript XML SVG」カテゴリの記事