Scripting Indesign CS5:如何通过脚本将段落放入文本框架

Scripting Indesign CS5:如何通过脚本将段落放入文本框架,scripting,frame,adobe-indesign,Scripting,Frame,Adobe Indesign,我正在尝试编写脚本,创建包含一些文本的文本框,以便文本框自动扩展到所需的高度。这是可行的,但与UI不同。我想要实现的是,文本框中的段落在所有边上都有15mm的边距。但这只适用于左缩进和右缩进,而不适用于段落前后的间距。 当您运行下面的脚本时,您将看到文本框中段落的高度正好在。但是,当您现在打开“对象样式”对话框,单击“文本框常规选项”和“预览”时,您将看到“插入间距”预设已应用,而在脚本执行期间未应用。 所以问题是:我如何通过编写脚本来创建一个四面都有内边距的文本框,并使文本框大小(包括内容的边

我正在尝试编写脚本,创建包含一些文本的文本框,以便文本框自动扩展到所需的高度。这是可行的,但与UI不同。我想要实现的是,文本框中的段落在所有边上都有15mm的边距。但这只适用于左缩进和右缩进,而不适用于段落前后的间距。 当您运行下面的脚本时,您将看到文本框中段落的高度正好在。但是,当您现在打开“对象样式”对话框,单击“文本框常规选项”和“预览”时,您将看到“插入间距”预设已应用,而在脚本执行期间未应用。 所以问题是:我如何通过编写脚本来创建一个四面都有内边距的文本框,并使文本框大小(包括内容的边距)合适

// close all your unsaved documents before you run this script
for (var i = 0; i < app.documents.length; i++) {
    app.documents[i].close(SaveOptions.NO);
}

var myDocument = app.documents.add(true);
var currentPage = myDocument.spreads.lastItem().pages.lastItem();

myDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.MILLIMETERS;
myDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.MILLIMETERS;

myColorWHITE = myDocument.colors.add({name:"WHITE",model:ColorModel.process,colorValue:[0,0,0,0]});

paragraphStyleBox = myDocument.paragraphStyles.add({name:"box"});
with (paragraphStyleBox) {
    spaceAfter = "15mm";
    spaceBefore= "15mm";
    leftIndent = "15mm";
    rightIndent = "15mm";
}

var objectStyleBox = myDocument.objectStyles.add({name:"Box"});
with (objectStyleBox) {
    appliedParagraphStyle = paragraphStyleBox;
    fillTransparencySettings.blendingSettings.opacity = 80;
    fillColor = myColorWHITE;
    textFramePreferences.insetSpacing = ["15mm","15mm","15mm","15mm"];
//      autoFit = true;
}

var myObject = currentPage.textFrames.add();
myObject.applyObjectStyle(objectStyleBox);
myObject.geometricBounds = ["25mm","25mm","50mm","120mm"];


myObject.contents = "Milicae is. Ortemnem mium host poteatius lis. At perentilinc tum non diem et quons interet; nonfex milicta demque num. Eci publiae tes re porestem que movena, nos culessi etilissidiem utem. Publis. Fultorum mo vid con verdientime cervivis cri, sena, publictam quit, ur, quemena tamquist grac ret; habena, siderfe conlocr evitio adhui cortuidemeis consum andam aciam ma, fuis ore aucterei ius manum pubis. Fuliceristam octu vignonsulium cum sent, us C. Mus entebatque et videt; horeo, conem avoltor enatus. Scierox mus ommovero, quam inatropotius occi prae et; nos ad me prore cotam teribut audeatquam in demus, abus bonsidem cus sentem dum mo et qua publis? Forit intum inu vis, etem mei senatilis iam eoribut octum idi, sendam aus elut viventeat. Opiorbissi inatur aci fautem ommorac tatuus crem ia? Hosulium perbemurbit." 
    + "Il tatum abem sulius pubis perfir la re ius vivir unirmis, popos, oribuntim hocchi, quam veresultuam invo, que facien hocciendet videt? Ficae ad pror quem iam nu virid imus abus num nihil hocupplintem acchicivis, senditua quam etore queremur aderibus iaet? Ximodit rudemus addum nononsus et; horementi, se con Etra, que atum ta, se teniris essoltustia erum tem fuem defatus clem peris horicaedeesi ina, utum facientem atu quodiora te in Itam qua re me ori, nes conihi, supplica publicae conc or aurbist abefex satam es nihi, pratienatum auciste beffren deriti serrionficia et vigit quitiac turnihil vidium foraequam in pori peciviu es! Ximus bonveraes imoena, mus niquid popubis ad nonsu modius, cus iam con in tea occidici ipieris ulicute nonclud emuressi ina, crem, neris,";

myObject.paragraphs[0].applyParagraphStyle(paragraphStyleBox,true);
myObject.fit(FitOptions.FRAME_TO_CONTENT);
//运行此脚本之前,请关闭所有未保存的文档
对于(var i=0;i
这里有两个问题:

首先,ObjectStyle有一个
enableTextFrameGeneralOptions
属性,需要启用该属性才能启动插入

第二,由于应用的段落样式的间距与对象样式的间距相同,因此间距将增加一倍。因此,您可能应该删除段落样式或关闭其边距间距

// close all your unsaved documents before you run this script
for (var i = 0; i < app.documents.length; i++) {
   app.documents[i].close(SaveOptions.NO);
}

var myDocument = app.documents.add(true);
var currentPage = myDocument.spreads.lastItem().pages.lastItem();

myDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.MILLIMETERS;
myDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.MILLIMETERS;

myColorWHITE = myDocument.colors.add({name:"WHITE",model:ColorModel.process,colorValue:[0,0,0,0]});

var objectStyleBox = myDocument.objectStyles.add({name:"Box"});
with (objectStyleBox) {
   fillTransparencySettings.blendingSettings.opacity = 80;
   fillColor = myColorWHITE;
   textFramePreferences.insetSpacing = ["15mm","15mm","15mm","15mm"];
   enableTextFrameGeneralOptions = true; // Enables general options and inset spacing
   autoFit = true;
}

var myObject = currentPage.textFrames.add();
myObject.applyObjectStyle(objectStyleBox);
myObject.geometricBounds = ["25mm","25mm","50mm","120mm"];


myObject.contents = "Milicae is. Ortemnem mium host poteatius lis. At perentilinc tum non diem et quons interet; nonfex milicta demque num. Eci publiae tes re porestem que movena, nos culessi etilissidiem utem. Publis. Fultorum mo vid con verdientime cervivis cri, sena, publictam quit, ur, quemena tamquist grac ret; habena, siderfe conlocr evitio adhui cortuidemeis consum andam aciam ma, fuis ore aucterei ius manum pubis. Fuliceristam octu vignonsulium cum sent, us C. Mus entebatque et videt; horeo, conem avoltor enatus. Scierox mus ommovero, quam inatropotius occi prae et; nos ad me prore cotam teribut audeatquam in demus, abus bonsidem cus sentem dum mo et qua publis? Forit intum inu vis, etem mei senatilis iam eoribut octum idi, sendam aus elut viventeat. Opiorbissi inatur aci fautem ommorac tatuus crem ia? Hosulium perbemurbit." 
+ "Il tatum abem sulius pubis perfir la re ius vivir unirmis, popos, oribuntim hocchi, quam veresultuam invo, que facien hocciendet videt? Ficae ad pror quem iam nu virid imus abus num nihil hocupplintem acchicivis, senditua quam etore queremur aderibus iaet? Ximodit rudemus addum nononsus et; horementi, se con Etra, que atum ta, se teniris essoltustia erum tem fuem defatus clem peris horicaedeesi ina, utum facientem atu quodiora te in Itam qua re me ori, nes conihi, supplica publicae conc or aurbist abefex satam es nihi, pratienatum auciste beffren deriti serrionficia et vigit quitiac turnihil vidium foraequam in pori peciviu es! Ximus bonveraes imoena, mus niquid popubis ad nonsu modius, cus iam con in tea occidici ipieris ulicute nonclud emuressi ina, crem, neris,";

myObject.fit(FitOptions.FRAME_TO_CONTENT);
//运行此脚本之前,请关闭所有未保存的文档
对于(var i=0;i