2017-01-20 16 views
-1

私はこことGoogleで検索しましたが、私の問題の解決策が見つかりません。InDesignスクリプティング - 開いているドキュメントの余白を設定する

開いているInDesignファイルに応じて余白を設定し、新しいものを作成しない(java)スクリプトを作成したいと思います。ここで

は、サンプルコードでは、(私がしたいように動作しません)です:

var doc = app.documents.add({ 
    }); 
var page = doc.pages.item(0); 
page.marginPreferences.properties = { 
    top : 30, 
    left: 30, 
    right: 30, 
    bottom:30 
    }; 

- これが(既定の形式を使用して)新しいドキュメントを作成しますが、私は上で実行するスクリプトが欲しいですInDesignで開いたファイル。 どうすればいいですか?

- また、ページのサイズを使用して余白を設定したいと考えています。ここに例があります:上マージン=(幅 - 高さ)/ 12 これをどのように達成できますか?

ありがとうございました。

Ps:JSで私の英語と私の低レベルに申し訳ありません。

答えて

1

var main = function() { 
 
\t var doc = app.properties.activeDocument, pgs, pg, b, w, h, m; 
 
\t if (!doc) return; 
 
\t pgs = doc.pages.everyItem().getElements(); 
 
\t 
 
\t while (pg = pgs.pop()) { 
 
\t \t 
 
\t \t b = pg.bounds; 
 
\t \t w = Math.abs(b[3]-b[1]); 
 
\t \t h = Math.abs(b[2]-b[0]); 
 
\t \t m = Math.abs(w-h)/12; 
 
\t \t 
 
\t \t pg.marginPreferences.properties = { 
 
\t \t \t top : m, 
 
\t \t \t left: m, 
 
\t \t \t right: m, 
 
\t \t \t bottom:m 
 
\t \t }; 
 
\t } 
 
} 
 

 
var u; 
 

 
app.doScript ("main()",u,u,UndoModes.ENTIRE_SCRIPT, "The Script");

関連する問題