Piymaru Softwareによる電子書籍の83冊目、「Cocoa Scripting Course #6, PDFKit」を発売しました。PDF560ページ+サンプルScript Zipアーカイブで構成されています。
PDF処理は、Cocoa Scriptingの1つの価値ある到達点です。この処理が行いたいからCocoaの呼び出しについて苦労を重ねてきたと言えます。機械学習やREST API呼び出し、配列からの高速なデータ抽出など、Cocoa Scriptingの「おいしい用途」は星の数ほどありますが、PDF処理は間違いなくその中でもトップランクの攻略目標のうちの1つです。
日常的にPDFを扱っているScripterなら、Cocoa Scriptingによって得られるメリットが膨大なものであることをもれなく間違いなくいかんなく実感できることでしょう。
1章 入門編
2章 実践編
3章 PDFKit編
PDFKitの位置付けと役割
用途別のフレームワークを知ろう
PDFKit内の主要クラス
PDFKit+AppleScriptのつかいどころ
PDFKit+AppleScriptの注意点
PDFKit.frameworkの利用宣言文
(参考資料)PDFの座標系
PDFDocument Basic Samples
PDFPage Basic Samples
PDFOutline Basic Samples
PDFAnnotation Basic Samples
4章 PDF処理 基礎編
PDFの処理の流れ
AppleScript+PDFKitでよく使う基礎的な処理
AppleScript+PDFKitの基礎的な処理手順
AppleScript+PDFKitでよく使う基礎的な処理の手順
PDFからの情報取得
PDFのサイズをPointで取得
PDFから各種情報をNSDictionaryで取得
PDFから各種情報を文字列で取得
PDFページカウント
PDFのページカウント(PDFDocument)
PDFのページカウント(Metadata Lib経由)
PDF本文テキスト抽出
PDFの全ページのテキストを抽出
PDFのテキストをページ単位で抽出
PDFを回転
PDFを回転させて新規保存
PDFを印刷
PDFを印刷
RTFをPDFに変換
RTFをPDFに変換
PDFからのテキスト検索
PDFテキストからの指定キーワード検索
ページ単位でPDF分割
ページ単位でPDF分割
複数PDF結合
choose fileコマンドで選択した複数のPDFを結合
PDF→他形式画像変換
ページ単位でJPEG画像に変換
画像連結してPDF作成
フォルダ内のJPEG画像を新規PDFに連結
指定フォルダ下のすべての画像を新規PDFに連結
フォルダ内のJPEG画像を既存のPDFに連結
Multi Page TIFFからPDFへの変換
Multi Page TIFFからPDFへの変換
アラートダイアログでPDFを表示
アラートダイアログ+WkWebViewでPDFを表示
アラートダイアログ+PDFViewでPDFを表示
5章 PDF処理 上級編
PDFのパスワード、暗号化設定
PDFのアクセス権とパスワード
パスワード設定をチェック
設定されているパーミッションを取得
PDFにパスワードを設定(1/2)
PDFにパスワードを設定(2/2)
PDFのパスワードを解除
PDFの空白ページ検出
PDFから空白ページを削除(1/3)
PDFから空白ページを削除(2/3)
PDFから空白ページを削除(3/3)
PDFフォーム入力
PDFフォームにテキスト入力して別名保存(1/2)
PDFフォームにテキスト入力して別名保存(2/2)
PDFフォームにチェックボックス入力(1/2)
PDFフォームにチェックボックス入力(2/2)
Quartzフィルタ
Quartzフィルタとは?
QuartzFilter出力例一覧
Quartzフィルタの一覧を出力
白黒のQuartzフィルタをかけて出力
ブルートーンのQuartzフィルタをかけて出力
PDFX-3のQuartzフィルタをかけて出力
グレートーンのQuartzフィルタをかけて出力
明度低下のQuartzフィルタをかけて出力
明度上昇のQuartzフィルタをかけて出力
ファイルサイズ縮小のQuartzフィルタをかけて出力
セピアトーンのQuartzフィルタをかけて出力
PDFアノテーションを取得、追加、書き換え、削除
アノテーションについて
アノテーションを取得
サークル・アノテーションを追加
スクウェア・アノテーションを追加
ライン・アノテーションを追加
テキスト・アノテーションを追加
URLリンク・アノテーションを追加(1/2)
URLリンク・アノテーションを追加(2/2)
指定語群にハイライトを追加(1/2)
指定語群にハイライトを追加(2/2)
指定語群にアンダーラインを追加(1/2)
指定語群にアンダーラインを追加(2/2)
指定語群に打ち消し線を追加(1/2)
指定語群に打ち消し線を追加(2/2)
PDFからすべてのアノテーションを削除
PDFのリンク抽出、リンク置換
PDFのリンク先は?
リンクの各種情報を取得(1/2)
リンクの各種情報を取得(2/2)
リンク・アノテーションからURLを抽出
URLリンク・アノテーションを追加(1/2)
URLリンク・アノテーションを追加(2/2)
書類内リンク・アノテーションを追加(1/2)
書類内リンク・アノテーションを追加(2/2)
リンクアノテーションのURLを置換
PDFのOCR処理(OCRテキスト埋め込み)
PDFのOCR処理(1/3)
PDFのOCR処理(2/3)
PDFのOCR処理(3/3)
PDFのしおり(TOC)を取得、追加、削除
TOCの題名と階層が悩ましい(1/2)
TOCの題名と階層が悩ましい(2/2)
指定PDFのTOCを取得してレコード化(1/2)
指定PDFのTOCを取得してレコード化(2/2)
ノンブルだけのフラットなTOCを付加(1/2)
ノンブルだけのフラットなTOCを付加(2/2)
Recordデータから階層TOCを付加(1/3)
Recordデータから階層TOCを付加(2/3)
Recordデータから階層TOCを付加(3/3)
Numbersの表データから階層TOCを付加(1/4)
Numbersの表データから階層TOCを付加(2/4)
Numbersの表データから階層TOCを付加(3/4)
Numbersの表データから階層TOCを付加(4/4)
指定PDFのTOCを削除
添付サンプルScript紹介
サンプルScript集
資料編