PDFの各種情報を取得するAppleScriptです。
これまで、GUIアプリケーションを呼び出してPDFの情報を取得していましたが、PDFKitの機能を利用してAppleScript単体で(GUIアプリケーションの機能を呼び出すことなく)処理できるようになりました。
PDF関連は、ほぼたいていの処理をAppleScriptだけで行えています。しいて(自分が)できていないのは、ウォーターマークを埋め込むような処理ぐらいでしょうか。それ以外であれば、たいてい行えます。
AppleScript名:ASOCでPDFの各種情報を取得する |
— Created 2015-10-20 by Takaaki Naganoya — 2015 Piyomaru Software use AppleScript version "2.5" use scripting additions use framework "Foundation" use framework "QuartzCore" set aPath to POSIX path of (choose file of type {"com.adobe.pdf"} with prompt "Select PDF") set aURL to current application’s |NSURL|’s fileURLWithPath:aPath set aPDFdoc to current application’s PDFDocument’s alloc()’s initWithURL:aURL set pCount to aPDFdoc’s pageCount() –ページ数 –> 1 set aMajorVersion to aPDFdoc’s majorVersion() –バージョン(メジャーバージョン) –> 1 set aMinorVersion to aPDFdoc’s minorVersion() –バージョン(マイナーバージョン) –> 3 set aRoot to aPDFdoc’s outlineRoot() –> missing value set anAttr to (aPDFdoc’s documentAttributes()) as record –> (NSDictionary) {Creator:"Pages", Producer:"Mac OS X 10.11.1 Quartz PDFContext", ModDate:(NSDate) 2015-10-20 07:45:55 +0000, Title:"testPDF", CreationDate:(NSDate) 2015-10-20 07:45:55 +0000} set aCreator to anAttr’s Creator() –> "Pages" set aProducer to anAttr’s Producer() –> "Mac OS X 10.11.1 Quartz PDFContext" set aTitle to anAttr’s Title() –> "testPDF" set aCreationDate to anAttr’s CreationDate() –PDF作成年月日 –> date "2015年10月20日火曜日 16:45:55" set aModDate to anAttr’s ModDate() –PDF変更年月日 –> date "2015年10月20日火曜日 16:45:55" set anEncF to aPDFdoc’s isEncrypted() –暗号化されている(パスワードが設定されている)か? –> false set anLockF to aPDFdoc’s isLocked() –ロックされているか? –> false set aCopyF to aPDFdoc’s allowsCopying() –テキストのコピーを許可されているか? –> true set aPrintF to aPDFdoc’s allowsPrinting() –印刷を許可されているか? –> true –PDFのサイズを取得する(単位:Point) set aPage to aPDFdoc’s pageAtIndex:0 set aBounds to aPage’s boundsForBox:(current application’s kPDFDisplayBoxMediaBox) set aSize to |size| of aBounds –> {width:595.28, height:841.89} |
More from my site
(Visited 374 times, 1 visits today)