Illustrator, Contents Recovery Mode

Illustratorにはドキュメントのリカバリに関する機能が隠されています。Contents Recovery Modeって言うのですが、事はそう簡単ではありません。何と言ってもリカバリーするのは自分自身ですから。リカバリーの知識が無いと手も足も出ないという事になります。しかしながら、わたしにはあるんですねぇwですから、困った時は呼んでみると助かるかも知れませんね。

細かい事を説明しましょう。現在のAIファイルはネイティブであるPGFファイルフォーマットとPDFのハイブリットなデータとなっています。このハイブリットというのが曲者でして、旧来のテキストベースのファイルフォーマットであればテキストエディタで開いてごにょごにょする事が可能でしたが、現在ではバイナリな部分やカスタムエンコーディングが混ざったり、圧縮ストリームが殆どだったりの状態となってしまった為、PGFに該当する部分を取り出したとしても手を加えることが事実上不可能な場合が大半です。しかし、前述のリカバリモードを実行すればPGFファイルフォーマット部分だけを抽出した上で、圧縮ストリームを展開し別名保存してくれます。あとはテキストエディタで開き、トラブルを生じさせている部分を外科的な処置で対処すると良い状態となります。

実は、この機能が搭載されたのはCS2だったりします。きっとファイルフォーマットを変更した為に苦情が山ほど来たんだろうねw

コンテンツリカバリ機能を有効化する

おまじないを実行します。

app.preferences.setBooleanPreference("aiFileFormat/enableContentRecovery",1);

この一行を保存してIllustratorからExtendScriptとして実行します。
以上でコンテンツリカバリーモードが利用出来る様になります。

 

コンテンツリカバリーモードの利用方法

このモードを利用するには幾つかの手順が必要です。

イラストレータを通常の様に起動します。

次に「command/Ctrl+o」もしくは「ファイル→開く」でオープンダイアログを表示します。

openFile.png

こんな感じですね。

続いてファイルを選択します。この時点ではまだ「開く」ボタンをクリックしてはいけません。

次に「Command + Option + Shift(Mac)」「Ctrl + Alt + Shift (Windows)」を押したまま「開く」ボタンをクリックします。

すると空っぽのドキュメントが開かれます。これ自体は何の処置もされていない状態です。保存せずに閉じてください。しかし、PGFの取り出し処理はバックグランドで行われ、リカバリ対象のファイルと同一階層に「_」を頭に付けた状態で保存されています。このファイルはDeflateストリーム等が展開されたネイティブのPGFファイルです。テキストエディタで編集する事が可能な物です。

convertFile.png

あとはAIが吐いたダイアログの情報を手がかりにファイルの修復を試みます。ここがリカバリの本当に大切な部分ですが、AIは何も助けてくれません。この機能、名前がおかしいですね。実際には先日の「dumpPGFFile」メソッドと等価の機能です。ファイル修復は作業者の腕次第となっておりますw

http://www.google.com/search?rls=en&q=ai7_file_format

補足です。この辺りの資料がリカバリには役に立ちます。15年程前にai7のファイルフォーマットが公開されていて、その情報に付随したものが一番の資料です。

最後にdamagedFile.aiをお付けしておきます。異常なオペレータが1ヶ所存在します。リカバリ処理の標準時間は5分以内です。(ヒントはエラーダイアログに…)

_damegedFile.ai.zip
damagedFileDialog.png

ten_a

Graphic Designer, Scripter and Coder. Adobe Community Professional.

シェアする

2件のフィードバック

  1. M→mと書き換えればOKなケースです。この部分に来るのはmoveToです。このようなケースは稀で一般的なエラーファイルはバーストエラーの影響で連続で読み取れない部分が生じる為に数バイト〜数メガバイト単位で壊れているケースが殆どです。この様な場合、健全な部分のみを残してエラー部分をバッサリと切り捨てる処理を行うしか手がありません。

匿名 へ返信する コメントをキャンセル