Help us understand the problem. What is going on with this article?

文字を表示する

More than 5 years have passed since last update.

 それでは次にInDesign CS6で文字を表示してみましょう。以下のプログラムを入力してみてください。

pageObj = app.documents.add()
txtObj = pageObj.textFrames.add();
txtObj.visibleBounds = ["1cm","0.5cm","5cm","10cm"];
txtObj.contentType = ContentType.textType;
txtObj.contents = "InDesign JavaScript Sample";

 1行目は新規にドキュメントを作成するものです。これは先ほどやりました。InDesign CS6でテキストを表示させるためには、まずテキストフレームを作成する必要があります。2行目でテキストフレームを作成しています。
 テキストフレームを作成しても、その大きさを指定しないと期待通りにはなりません。そこでvisibleBoundsに上端、左端、下端、右端の座標を単位付きで指定します。順番を間違えないように注意してください。
 次にフレームの種類を指定します。テキストフレームを作成したのに、なぜ?と思われるかもしれませんが、InDesign CS6ではテキストフレームもグラフィックのフレームも基本的に同じためです。ここでは明示的にテキストを入れます、と指定するためcontentTypeにContentType.textTypeとしてフレームの種類をテキストにしています。
 これでテキストを表示する準備ができました。実際のテキストはcontentsに入れれば表示されます。

 文字を表示しましたので、次に文字のサイズを変更してみましょう。以下のスクリプトは最初の1文字を34Qにするものです。

pageObj = app.documents.add()
txtObj = pageObj.textFrames.add();
txtObj.visibleBounds = ["1cm","0.5cm","5cm","10cm"];
txtObj.contentType = ContentType.textType;
txtObj.contents = "InDesign JavaScript Sample";
txtObj.characters[0].pointSize = "34Q";

 先ほどのスクリプトに1行追加しただけです。追加したのは一番最後の行です。文字のサイズはpointSizeで指定します。どの文字のサイズを指定するかをcharactersで指定します。[]の中に数字がありますが、これが文字の位置になります。InDesign CS6での文字は一番最初の文字が0番、2文字目が1番というように1少ない値になっています。つまり最初の文字を指定するにはcharacters[0]とすればよい事になります。
 文字のサイズは"34Q"のように文字列で指定します(数値でも指定可能)。級数だけでなくポイントでも指定できます。この場合には"24pt"のように指定します。

 これでInDesign CS6で文字を表示し、任意の位置の文字のサイズを変更することができるようになりました。同様にしてフォントなども変更することができます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした