Created
January 8, 2011 06:50
-
-
Save osima/770623 to your computer and use it in GitHub Desktop.
段落スタイルを適用しつつ段落を追加していくための支援関数 for InDesign Extend Script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // 段落構築用テキストフレームを生成 | |
| function createBufferedTextFrame(){ | |
| var mytf = app.activeDocument.textFrames.add(); | |
| return mytf; | |
| } | |
| // マージ | |
| function mergeTextFrame( tf0 , tf1 ){ | |
| tf0.nextTextFrame = tf1; | |
| tf1.remove(); | |
| } | |
| // 改行を入れる | |
| function appendBr( tf ){ | |
| var mytf = createBufferedTextFrame() | |
| mytf.contents = "\r"; | |
| mergeTextFrame( tf,mytf ); | |
| } | |
| function applyPStyle( tf,pstylename ){ | |
| var myPStyle=null; | |
| try{ | |
| var myDoc = app.activeDocument; | |
| myPStyle=myDoc.paragraphStyles.item( pstylename ); | |
| myPStyle.name; | |
| } | |
| catch(myError){ | |
| var myDoc = app.activeDocument; | |
| myPStyle = myDoc.paragraphStyles.add({name:pstylename}); | |
| } | |
| tf.paragraphs.everyItem().applyParagraphStyle(myPStyle, true); | |
| /* | |
| for( var i=0; i<tf.paragraphs.length; i++){ | |
| tf.paragraphs.item(i).applyParagraphStyle(myPStyle, true); | |
| alert(tf.paragraphs.item(i)); | |
| } | |
| */ | |
| } | |
| function appendText(tf, text, pstylename){ | |
| var btf = createBufferedTextFrame(); | |
| btf.contents = text; | |
| appendBr( btf ); | |
| applyPStyle(btf, pstylename); | |
| mergeTextFrame( tf, btf ); | |
| } | |
| // ここより上が汎用の関数 | |
| // 以下は、アプリケーションコード | |
| function createTextFrame(doc,page){ | |
| var tf = page.textFrames.add(); | |
| tf.geometricBounds = ["20mm", "20mm", "40mm", "80mm"]; | |
| return tf; | |
| } | |
| var myDoc = app.documents.add(); | |
| //var myDoc = app.activeDocument; | |
| var myPage = myDoc.pages.item(0); | |
| var tf = createTextFrame(myDoc,myPage); | |
| // 1) | |
| appendText(tf, "Hello World.","h1"); | |
| // 2) | |
| appendText(tf, "nin-nin","body"); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment