InDesignのスクリプティングによるPDF書き出し

[7868]InDesignのスクリプティングによるPDF書き出し 投稿者:観月 投稿日:2013/10/18 09:40:03
MacOSX 10.5.8
InDesignCS3のPDF書き出しを必要なレイヤーを表示させる度に
PDF書き出しをするという自動化をJavaScriptで行っています。

この中で問題となっているのはIllustratorで作成された
ai形式の配置画像が消える事象です。
自動で100単位の書き出しを行っているのですが、希にあります。
また決まったタイミングではなくランダムに起こっているので原因が掴めません。

同じ物を連続で書き出すと精度はあがる、という話があったので行ってみたところ、
確かに消える事象は確認出来ないのですが、2度目の書き出しでInDesignが落ちることが多くなりました。

app.activeDocument.exportFile(ExportFormat.PDF_TYPE,"ファイルパス",false,"プリセットPDF-X-1a");
app.activeDocument.exportFile(ExportFormat.PDF_TYPE,"ファイルパス",false,"プリセットPDF-X-1a");

間に$sleepを挟んだり、一回目を削除してからなど試していますが
解決策が一向に見つかりません。
ご存知の方ご教授願います
書きだされたpdfが0kbになるのは経験あるんですけれども、
配置画像だけ抜けるんですかーgkbr

>2度目の書き出しでInDesignが落ちることが多くなりました。
連続でexportFileしているところを、
undoしてトライするのはどうでしょうか?(外していたらすみません
[7870]Re: InDesignのスクリプティングによるPDF書き出し 投稿者:観月 投稿日:2013/10/19 12:07:26
返信ありがとうございます。
文章に埋もれてる感がありますが、Ai形式のみ抜けます。
他のpsdなどは抜けていません。
また直に貼り付けているものはないのでそこの差異があるかは確認出来ていません。

undoに関してはすぐ試してみます、ありがとうございます。
[7871]Re: InDesignのスクリプティングによるPDF書き出し 投稿者:観月 投稿日:2013/10/20 10:14:08
undoを試した結果、より落ちる率は下がったように思えます。
ですがやはりInDesignが落ちますね。これがMac本体による影響か分かりませんが...。
書き出しに失敗するほど重たい文書なんでしょうか。
苦労されてる様子が伺えます。

えー対策としては、複数回書き出す方法以外に無いのではないかと思われます。
現状のアルゴリズムが分かりませんので、アレなんですけれども、
links内にai形式が無ければ一回で済むということなので、
その辺りの分岐と、aiが含まれる場合の処理と分けて
aiが含まれる場合だけ、半自動として、exportFileの
第三引数にダイアログ当てるとかで改善するのかも知れません。(手動で書きだす場合は問題なく書き出せるのかとかも関係すると思います)

InDesignが落ちる原因の究明がそこにあるような気がしますが、メモリは潤沢に積んでいる状況でしょうか?
[7873]Re: InDesignのスクリプティングによるPDF書き出し 投稿者:観月 投稿日:2013/10/21 03:12:19
書き出す文書としては50~80MBといったところでしょうか。
配置されているpsdが数十はあります。
その内aiは10あるかないかですが。

対策を講じて頂いて申し訳ないですが
アルゴリズムはともかく、目的として書き出したら終わりまで見ることなく全自動になっています。
ですのでダイアログの表示自体が前提からないです。
表示してもAppleScript等で制御出来れば良いのですが、ダイアログの表示後に割り込むことなど出来るのでしょうか。
かなり前に諦めた策なんですが。

メモリですが4MBですね、増設は難しいですね。
[7874]Re: InDesignのスクリプティングによるPDF書き出し 投稿者:観月 投稿日:2013/10/21 09:12:51
もう一つ心当たりがあるとすれば
inddファイル、画像共にそれぞれ違うサーバーを介している点でしょうか。
inddを開く際には一度画像のサーバーのマウントを切って開いた後リンクを繋ぎ直さないとInDesignが落ちてしまう程です。
それを考えるとinddファイル側も一定回数においてマウントし直す必要があるのでしょうか
>もう一つ心当たりがあるとすれば
>inddファイル、画像共にそれぞれ違うサーバーを介している点でしょうか。
>inddを開く際には一度画像のサーバーのマウントを切って開いた後リンクを繋ぎ直さないとInDesignが落ちてしまう程です。
>それを考えるとinddファイル側も一定回数においてマウントし直す必要があるのでしょうか

原因はコレじゃないでしょうか。
ネットワーク上のinddファイルの場合は、開くのだけでも重たくなるでしょうね。(経験上)

とはいえ、コードが見えない以上、アドバイスできることは
限られてきます。
一度でもオペレーションを挟みたくないのであれば、
アルゴリズムを変更することや、ExtendedScript以外の選択肢(AppleScript)も考慮してみてください。

ローカル上のデータでは、問題なく書き出せるのに、
ネットワーク上のデータでは、aiが欠落するのであれば、
1)対象フォルダを選択
2)対象フォルダをローカルにコピー
3)選択フォルダ内のinddを列挙
4)InDesignで開く
5)PDF書き出し
6)列挙したファイル終端まで繰り返し
7)書き出されたPDFをどうするかは、ご自身で
8)ローカルにコピーしたファイル群の取扱い(temp削除とかね
などでしょうか。

では。
[7883]Re: InDesignのスクリプティングによるPDF書き出し 投稿者:観月 投稿日:2013/10/25 10:11:23
結果が遅くなりました。
現状アドバイス頂いた手順に準拠した流れで組んでみました。
ローカル時には外部リンクを外した状態で開けば落ちる心配はなかったのですが2回書き出しでは落ちる状況に。

しかし、undoやsleepを挟むことで落ちることはなくなっています。
今度の課題はスピードになりますが
現状2回書き出しからのスタートで通常は確認出来ていません。
そこから検証を行ってみます。

ありがとうございました。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)