表題欄

illustratorスプリクト機能で[表題欄]を自動作成してくれるコード

訪問して頂きありがとうございます。

今回は、illustratorを使って図面などを作成している人向けに

  • 表題欄を自動で作成してくる方法を知りたい
  • 日付だけを差し替えた
  • スプリクト機能を使ってみたい

こんな疑問に答えます。

この記事は、DTPデザイナー歴15年以上の私が、illustratorのスプリクト機能を利用してシンプルな表題欄を自動で作成するソースコードを紹介します。

参考にしていただければ毎回、[表題欄]を作る単純作業から開放されますよ

プログラムが苦手な人は、ソースコードを【Adobe ExtendScript Toolkit】や【メモ帳】などにペーストして使ってくだい

[表題欄]を作成する上で必要になる基礎知識はコチラを参考にしてください

illustratorで【日付を自動取得する】javaScript Code




作成する表題欄のポイント

プログラム画面1

今回紹介する表題欄のポイントは

・新規で[表題欄]レイヤーの作成
・複数のアートボードに対応
・中身には、タイトルと日付のみ
・日付のみ差し替え可能
※差し替えたくない日付はロックしてください

illustrator画面1



javaScriptのソースコード

プログラム画面2


var docObj = activeDocument;
var lays = docObj.layers;


app.coordinateSystem = CoordinateSystem.ARTBOARDCOORDINATESYSTEM;


var fName = app.textFonts["KozGoPro-Regular"];


function setCMYKColor(c,m,y,k) {
    var CMYK = new CMYKColor();
    CMYK.cyan = c;
    CMYK.magenta = m;
    CMYK.yellow = y;
    CMYK.black = k;
    return CMYK
}


var dayZero = function (zero) {
    if (zero <10) {
      zero = "0" + zero;
    }
    return zero;
}


var now = new Date();

var year = now.getFullYear();

var month = now.getMonth()+1;
  month = dayZero(month);

var date = now.getDate();
  date = dayZero(date);

var day = year +"/"+ month +"/"+ date;


try {

  var newLay = lays.getByName('表題欄');

  try {

    var slays = lays['表題欄'];

    slays.locked = false;
  } catch (e) {}

  docObj.selection = null;

  var txtCount = docObj.layers['表題欄'].textFrames;

   for (var i = 0; i < txtCount.length; i++) {
     try {
       txtCount[i].selected = true;
     } catch (e) {}
   }

   var selObj = docObj.selection;

   for (var i = 0; i < selObj.length; i++) {
     var text = selObj[i].contents;
     selObj[i].contents = text.replace(/2........./g,day);
   }
   slays.locked = true;

} catch (e) {

  var layObj = lays.add();

  layObj.name = '表題欄';

  for (var i = 0; i < docObj.artboards.length; i++) {
    var rect = docObj.artboards[i].artboardRect;
    var left = rect[0];
    var top = rect[1];
    var right = rect[2];
    var bottom = rect[3];

    var rectObj = docObj.pathItems.rectangle(bottom+28.398,right-211.334,197.162,14.226);

    rectObj.filled = false;

    rectObj.stroked = true;

    rectObj.storokeWidth = 1;

    rectObj.strokeColor = setCMYKColor(0,0,0,50);

    var lineObj = docObj.pathItems.add();

    lineObj.setEntirePath([[right-94.049,bottom+28.4],[right-94.049,bottom+14.2]]);

    lineObj.filled = false;

    lineObj.stroked = true;

    lineObj.storokeWidth = 1;

    lineObj.strokeColor = setCMYKColor(0,0,0,50);

    var titleObj = docObj.textFrames.add();

    titleObj.contents = 'Title';

    titleObj.paragraphs[0].fillColor = setCMYKColor(0,0,0,50);

    titleObj.paragraphs[0].characterAttributes.textFont = fName;

    titleObj.paragraphs[0].size = 5;

    titleObj.left = right-208.956;

    titleObj.top = bottom+26.014;

    titleObj.createOutline();

    var dateObj = docObj.textFrames.add();

    dateObj.contents = 'Date';

    dateObj.paragraphs[0].fillColor = setCMYKColor(0,0,0,50);

    dateObj.paragraphs[0].characterAttributes.textFont = fName;

    dateObj.paragraphs[0].size = 5;

    dateObj.left = right-91.678;

    dateObj.top = bottom+26.014;

    dateObj.createOutline();

    var textObj = docObj.textFrames.add();

    textObj.contents = day;

    textObj.paragraphs[0].size = 10;

    textObj.paragraphs[0].fillColor = setCMYKColor(0,0,0,50);

    textObj.paragraphs[0].characterAttributes.textFont = fName;

    textObj.top = bottom+26.014;

    textObj.left = right-77.367;
  }

  var sLayer = lays['表題欄'];

  var bottomLayer = docObj.layers[docObj.layers.length-1];

  bottomLayer.locked = false;

  sLayer.move(bottomLayer,ElementPlacement.PLACEAFTER);

  sLayer.locked = true;

}


illustrator画面2




表題欄を自動作成してくるまとめ

黒板にまとめ

この記事は、illustratorのスプリクト機能で使える javaScriptを利用した表題欄を自動作成してくれるソースコードを紹介してきました。

表題欄は。図面やデザインレイアウトの管理に必要な事項(タイトル、日付、クライアント名、作成者など)を記入する見出しのようなもで、表題欄を毎回、一から作成している人やテンプレートを利用している人もいると思いますが、illustratorのスプリクト機能を利用すれば時短に繋がりますので是非、利用してみてください。

というわけで、今回は以上です。

〈illustratorスプリクト機能で[表題欄]を自動作成してくれるコード〉を最後まで読んでいただき有難う御座いました。

See you later

illustratorの自動化でオススメの書籍

普通のJavaScriptの書籍はWEB制作を前提で書かれているので、Adobe illustratorやphotoshopを制御するには役に立ちずらいです。
そこで、AdobeのApplicationを制御することに特化した書籍を2冊紹介します。

Adobe JavaScriptリファレンス (NextPublishing)

AdobeのApplicationで共通する制御コマンドを網羅的に解説している1冊
illustratorやphotoshopなど特有のコマンドについては解説させていません

Illustrator自動化基本編 (Adobe JavaScriptシリーズ(NextPublishing))

Adobe JavaScriptリファレンスで解説させていないillustratorの特有コマンドを解説している1冊です。

サンプルコードなどが記載されているので、プログラムが苦手な人でもスプリクトを気軽に利用することができます。

ブログランキング・にほんブログ村へにほんブログ村   人気ブログランキング




shingo現役サラリーマン

投稿者の過去記事

◇このブログでは、15年以上DTPデザイナーとして、学んできたデザインやパソコンのセキュリティ知識・参考になった書籍などを紹介しています。
たまに、脇道にそれることもあります。

◇個人で手掛けたデザインは【ポートフォリオ】に掲載中
 フッターから見ることができます。

◇取得資格
・情報セキュリティマネジメント
・ITパスポート
・色彩検定 2級
・色彩検定 UC級
・屋外広告士
その他・・・・

U-NEXT

プロフィール

face

Shingo
鹿児島県在住
現役サラリーマン

◇このブログでは、15年以上DTPオペレーターとして、学んできたパソコンのセキュリティ知識や参考になった書籍などを紹介しています。
たまに、脇道にそれることもあります

◇取得資格
・情報セキュリティマネジメント
・ITパスポート
・色彩検定 2級
・色彩検定 UC級
・屋外広告士
その他・・・・

詳しいプロフィールはこちら

アーカイブ

カテゴリー

使用中のWPのテーマ

使用中のレンタルサーバー

ピックアップ記事

  1. メルカリハイ
    フリマアプリ「メルカリ」を利用している人達の意識・実態調査の結果がメルカリ総合研究所より発表がありま…
  2. 雪山
    ノートパソコンで長時間の作業や、動画編集などの高い負荷のかかる作業を行なっていると、ノートパソコ…
  3. mercari_logo_vertical
    メルカリとは、スマートフォン向けのC2CのECサービスを提供する日本の企業、および、同社が提…




PAGE TOP
%d人のブロガーが「いいね」をつけました。