DTP駆け込み寺

[ 返信 ]

Re^3: 位置情報を取得したい!!

> はい、別の者が位置情報が必要になるので、取得してほしいといわれました。

InDesignで使うわけではなく、どっか別の用途に使うんですよね(独り言

> ページ内にある20〜30全てのテキストボックスの座標を知りたいです。
> 羅列ですが、ページ数・テキストボックス内文字・Y軸・X軸みたいな感じが理想です。
> たとえば3ページ目の「0023」というテキストボックスだったら、
> 03-0023 y:00 x:00
> こんな感じができればいいのですが...。

なるほど、ページ数というのはドキュメントの先頭から何枚目でいいですかね?(ノンブルだと少し面倒なので)

テキストフレーム内の文字は、後で特定するためですかね。
contentsを取れば良いと思いますのでそうします。

座標はx,yの2つですね。左上としておきますね。

#target indesign
var doc=app.activeDocument;
var result=[]; // 情報を溜めておく所
for(var i=0;i<doc.pages.length;i++){
for(var j=0;j<doc.pages[i].textFrames.length;j++){
// テキストフレーム内の改行は〓で代用しておく
result.push(i+"-"+doc.pages[i].textFrames[j].contents.replace(/\r/g,"〓")+"\ty:"+doc.pages[i].textFrames[j].geometricBounds[0]+"\tx:"+doc.pages[i].textFrames[j].geometricBounds[1]);
}
}
// 取得した情報を新規ドキュメントに出力
var NewDoc=app.documents.add();
var NewDocFrm=NewDoc.pages[0].textFrames.add();
NewDocFrm.visibleBounds=[0,0,NewDoc.documentPreferences.pageHeight,NewDoc.documentPreferences.pageWidth];
NewDocFrm.parentStory.contents=result.join("\r"); // 溜めた情報を改行して出力
alert("出力しました。");

[17558] 流星光輝 (2014/12/16 Tue 13:22) web


残り3件

  1. [17552] 位置情報を取得したい!! いちじょーほ 2014/12/15 21:56
    1. [17553] Re: 位置情報を取得したい!! 流星光輝 2014/12/16 10:43
      1. [17557] Re^2: 位置情報を取得したい!! いちじょーほ 2014/12/16 12:51
        1. [17558] Re^3: 位置情報を取得したい!! 流星光輝 2014/12/16 13:22
          1. [17567] Re^4: 位置情報を取得したい!! いちじょーほ 2014/12/18 20:09
    2. [17555] Re: 位置情報を取得したい!! (z-) 2014/12/16 11:35
      1. [17566] Re^2: 位置情報を取得したい!! いちじょーほ 2014/12/18 20:06