//@target illustrator
var IL_Units = RulerUnits.Points;
var ID_Units = 2054188905;
function tfInDesign (data) {
var doc = app.documents.add();
doc.viewPreferences.horizontalMeasurementUnits = data.doc.units;
doc.viewPreferences.verticalMeasurementUnits = data.doc.units;
doc.documentPreferences.pageWidth = data.doc.width;
doc.documentPreferences.pageHeight = data.doc.height;
for (var f = 0; f < data.frames.length; f++) {
var df = data.frames[f];
var gb = [df.top, df.left, df.top + df.height, df.left + df.width];
var frame = doc.pages[0].textFrames.add(undefined, undefined, undefined, {geometricBounds: gb});
frame.parentStory.contents = df.contents;
}
}
function collectData (doc) {
var data = {};
data.doc = {
units: ID_Units,
width: doc.width,
height: doc.height,
}
data.frames = [];
for (var f = 0; f < doc.textFrames.length; f++) {
var frame = doc.textFrames[f];
data.frames.push({
top: frame.top > 0 ? frame.top : -frame.top,
left: frame.left,
width: frame.width,
height: frame.height,
contents: frame.contents,
});
}
return data;
}
function main() {
if (!app.documents.length) {
return false;
}
var doc = app.activeDocument;
if (doc.rulerUnits != IL_Units) {
alert('Set document units to: "' + IL_Units.split('.')[1] + '" before run script!');
return false;
}
if (!doc.textFrames.length) {
alert('No text items in document!');
return false;
}
var data = collectData(doc);
var script = 'var tfInDesign = ' + tfInDesign.toSource() + ';\r';
script += 'tfInDesign (' + data.toSource() + ');\r';
var ibt = new BridgeTalk();
ibt.target = 'indesign';
ibt.body = script;
ibt.send(3600);
}
main();