« [手直し]QRバーコード生成(解像度変更) | トップページ | cpdf »

画像データをクリップボードにPDF形式で入れる


AppleScript サンプルコード

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

AppleScript サンプルソース(参考)
行番号ソース
001#! /usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004#  com.cocolog-nifty.quicktimer.icefloe
005----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
006use AppleScript version "2.8"
007use framework "Foundation"
008use framework "AppKit"
009use framework "PDFKit"
010use scripting additions
011
012property refMe : a reference to current application
013
014################################
015#ダイアログ
016set strName to (name of current application) as text
017if strName is "osascript" then
018  tell application "Finder" to activate
019else
020  tell current application to activate
021end if
022
023set appFileManager to refMe's NSFileManager's defaultManager()
024set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSDesktopDirectory) inDomains:(refMe's NSUserDomainMask))
025set ocidDesktopDirPathURL to ocidURLsArray's firstObject()
026set aliasDesktopDirPath to (ocidDesktopDirPathURL's absoluteURL()) as alias
027set listUTI to {"public.image"}
028set strMes to ("ファイルを選んでください") as text
029set strPrompt to ("ファイルを選んでください") as text
030try
031  ### ファイル選択時
032  set aliasFilePath to (choose file strMes with prompt strPrompt default location (aliasDesktopDirPath) of type listUTI with invisibles and showing package contents without multiple selections allowed) as alias
033on error
034  log "エラーしました"
035  return "エラーしました"
036end try
037
038################################
039#入力パス
040set strFilePath to (POSIX path of aliasFilePath) as text
041set ocidFilePathStr to refMe's NSString's stringWithString:(strFilePath)
042set ocidFilePath to ocidFilePathStr's stringByStandardizingPath()
043set ocidFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:(ocidFilePath) isDirectory:false)
044
045################################
046#NSData's
047set ocidOption to (refMe's NSDataReadingMappedIfSafe)
048set listResponse to refMe's NSData's alloc()'s initWithContentsOfURL:(ocidFilePathURL) options:(ocidOption) |error| :(reference)
049if (item 2 of listResponse) = (missing value) then
050  log "正常処理"
051  set ocidReadData to (item 1 of listResponse)
052else if (item 2 of listResponse) ≠ (missing value) then
053  set strErrorNO to (item 2 of listDone)'s code() as text
054  set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
055  refMe's NSLog("■:" & strErrorNO & strErrorMes)
056  return "エラーしました" & strErrorNO & strErrorMes
057end if
058################################
059#NSImage's
060set ocidReadImage to refMe's NSImage's alloc()'s initWithData:(ocidReadData)
061
062################################
063#PDFPage's
064set ocidPDFPage to refMe's PDFPage's alloc()'s initWithImage:(ocidReadImage)
065
066################################
067#PDFDocument's
068set ocidPDFDoc to refMe's PDFDocument's alloc()'s init()
069ocidPDFDoc's insertPage:(ocidPDFPage) atIndex:(0)
070
071################################
072#NSData
073set ocidPDFData to ocidPDFDoc's dataRepresentation()
074
075################################
076#ペーストボード宣言
077set appPasteboard to refMe's NSPasteboard's generalPasteboard()
078appPasteboard's clearContents()
079#基本はPDF
080appPasteboard's setData:(ocidPDFData) forType:(refMe's NSPasteboardTypePDF)
081#アノテーション形式で入れれば大丈夫か?と思ったがダメだった
082#appPasteboard's setData:(ocidPDFData) forType:("com.apple.AnnotationKit.AnnotationItem")
083#基本系
084#appPasteboard's setData:(ocidPDFData) forType:("Apple PDF pasteboard type")
085#PDFのUTI指定
086#appPasteboard's setData:(ocidPDFData) forType:("com.adobe.pdf")
087#QTのクリップボードデータ(FoxIt)
088#appPasteboard's setData:(ocidPDFData) forType:("com.trolltech.anymime.FPMDATA")
089#Acrobatのスタンプデータ
090#appPasteboard's setData:(ocidPDFData) forType:("ASEL")
091
AppleScriptで生成しました

|

« [手直し]QRバーコード生成(解像度変更) | トップページ | cpdf »

NSPasteboard」カテゴリの記事