1

ここに私が発見した難問があります。

InDesign でファイルを開き、何らかの作業を行ってから閉じるスクリプトがあります。false速度を上げるために、次のように、ファイルを開くときに引数を使用してファイルの表示をオフにしました。

var document = app.open(oFile, false);

開いているファイルで作業を行っているときに、スクリプトで特定のページのサイズを 11 インチから 12.5 インチに変更する必要がある場合があります。

    if (padPrinted) {
        for (var p = 0; p < outputRangeArray.length; p++) {
            var padPage = document.pages.item(outputRangeArray[p]);
            if (padPage.bounds[2] - padPage.bounds[0] === 11) {
                padPage.select();
                var myY1 = padPage.bounds[0] -= 0.75;
                var myX1 = padPage.bounds[1];
                var myY2 = padPage.bounds[2] += 0.75;
                var myX2 = padPage.bounds[3];
                padPage.reframe(CoordinateSpaces.INNER_COORDINATES, [[myX1*72, myY1*72], [myX2*72, myY2*72]]);
            }
        }
    }

これはかなり長い間問題なく機能していましたが、今でpadPage.select()は次のメッセージの行でエラーが発生することがあります。

ドキュメント ウィンドウが開いていません。

ファイルを開いてfalse引数を削除する行に戻ると、スクリプトは正常に機能します。

そこで、これを回避する方法があれば教えていただきたいです。ドキュメントを表示せずに開きたいのですが、必要に応じてページのサイズを変更できます。何か案は?

4

1 に答える 1

1

なぜ電話するのpadPage.select();ですか?あなたのコードがそれを必要としているようには見えません。

編集:

Adobe InDesign CS6 Scripting Guide: Javascriptの 42 ページから 42 ページに、ページをリフレームし、select(). このスニペットは、 InDesign CS6 Scripting SDKのサンプル スクリプトからのものです (一番下までスクロール)。

サンプル スクリプトのパスは、Adobe InDesign CS6 Scripting SDK\indesign\scriptingguide\scripts\JavaScript\documents\PageReframe.jsx です。

このスクリプトを調べると、決して を呼び出していないことがわかりますselect()。実際、PageResize.jsxはいずれも呼び出しませんselect()

また、InDesign Server はページのサイズ変更と再フレーム化を行うことができますが、そのselect()機能が完全に欠落していることに気付くでしょう。select()GUI のみに影響するようです。

このすべての証拠に直面して、「ページを選択する必要がある」と書かれているスクリプト ガイドは間違っていると私は賭けます。その行を削除してみて、機能するかどうかを確認してください。

編集 2

関係のない話ですが、次の行は面倒かもしれません。

var myY1 = padPage.bounds[0] -= 0.75;
var myX1 = padPage.bounds[1];
var myY2 = padPage.bounds[2] += 0.75;

+=and演算子は-=境界を直接変更しようとしますが、境界は読み取り専用であり、resizeまたはなどのメソッドでのみ変更できreframeます。これを次のように変更することをお勧めします。

var myY1 = padPage.bounds[0] - 0.75;
var myX1 = padPage.bounds[1];
var myY2 = padPage.bounds[2] + 0.75;
于 2013-06-26T15:50:31.297 に答える