1

テキストフレームが必要な高さに自動的に拡張されるように、内部にテキストを含むテキストフレームの作成をスクリプト化しようとしています。これは機能しますが、UI と同じ方法ではありません。私が達成したいのは、テキスト フレーム内の段落のすべての辺に 15 mm の余白があることです。ただし、これは左右のインデントに対してのみ機能し、段落の前後のスペースには機能しません。以下のスクリプトを実行すると、テキスト フレームの高さが段落の高さとまったく同じであることがわかります。しかし、「オブジェクト スタイル」ダイアログを開いて、「テキスト フレームの一般オプション」をクリックし、「プレビュー」をクリックすると、「インセット間隔」プリセットが適用されていることがわかりますが、スクリプトの実行中は適用されません。質問は次のとおりです。

// 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);
4

1 に答える 1

1

ここで問題と思われることが 2 つあります。

1 つ目は、ObjectStyle にはenableTextFrameGeneralOptions、インセットを有効にするために有効にする必要があるプロパティがあることです。

2 つ目は、オブジェクト スタイルと同じ間隔で段落スタイルを適用しているため、間隔が 2 倍になることです。したがって、おそらく段落スタイルを削除するか、マージンの間隔をオフにする必要があります。

// 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);
于 2013-10-04T14:36:40.603 に答える