2006年06月02日
InDesignCS2でJavaScript表組

何なりできました(^^)。
//新規にドキュメントを作成する
pageObj = app.documents.add();
pageObj.documentPreferences.pageWidth="210mm";
pageObj.documentPreferences.pageHeight="297mm";
//テーブルを作成する
txtObj = pageObj.textFrames.add();
txtObj.visibleBounds = ["10mm","10mm","100mm","100mm"];
tblObj = txtObj.tables.add();
//表の行列(マス)を決める
tblObj.columnCount = 10; //よこ
tblObj.bodyRowCount = 7; //たて
//全セルの幅・高さを調整する
tblObj.width = "150mm"; //よこ
tblObj.height = "70mm"; //たて
//内容を入れる(1列目に全部同じものを入れる)
tblObj.columns[0].contents = "ABCDE";
//内容を入れる(1行目に全部同じものを入れる)
tblObj.rows[0].contents = "12345";
//内容を入れる(個別に入れる)
tblObj.rows[2].cells[5].contents = "ココ";
//罫線枠の太さ
tblObj.leftBorderStrokeWeight = "0.3pt";
tblObj.rightBorderStrokeWeight = "1pt";
tblObj.topBorderStrokeWeight = "2pt";
tblObj.bottomBorderStrokeWeight = "3pt";
//罫線枠の色
tblObj.leftBorderStrokeColor = "none";
tblObj.rightBorderStrokeColor = "none";
あとは、フォントの指定とか、背景色とか・・・。
投稿者 winternao : 22:28 | コメント (0) | トラックバック
2006年06月01日
久々にJavaScriptでInDesign
また仕事が立て込んできました(^^;)。
久々にJavaScriptでInDesignをコントロールしているのですが
//表組を作成する
txtObj = pageObj.textFrames.add();
txtObj.visibleBounds = ["10mm","10mm","100mm","100mm"];
tblObj = txtObj.tables.add();
うむ、確かに表は作れたぞ・・・。
で、4×4に勝手になるけど、コントロールの仕方は?
・・・またアドビフォーラムに頼りますか(汗)。
●アドビフォーラム
http://forums.adobe.co.jp
投稿者 winternao : 23:59 | コメント (0) | トラックバック
2006年02月24日
InDesignCS2でのフォント設定に注意
え~、今回のプログラム開発で
一番困ったのはフォント設定のところではないでしょうか。
実際の環境はInDesignCS2だったのに対し、
私の開発環境はInDesignCSだったので互換性に欠けるところがあるようです。
(あとでわかった)
フォント設定がうまく動かなかったときは、結構まっ青だったかも(^_^;)。
ちなみに本来は、これでもOKなはずなのですが、、、
MB101 = "A-OTF ゴシックMB101 Pro";
txtObj.contentType = ContentType.textType;
txtObj.contents = "私はたわし";
txtObj.paragraphs[0].appliedFont = app.fonts.item(MB101);
txtObj.paragraphs[0].fontStyle = "B";
これをInDesignCS2で実行すると、返されるエラーは日本語で言えば
「Bってなんじゃい(怒)」ってな感じでしたね(苦笑)。
ボールド系の指示のところで引っかかります。
ちなみに、「ゴシックMB101」というのはモリサワさんの書体の1つで
他にも「新ゴシック(新ゴ)」とか「リュウミン(明朝系)」の書体とか
さまざまあります。
で、困ったのでいろいろ調べたのですが、
MB101_B = "A-OTF ゴシックMB101 Pro B"; //ProとBの間はタブで
txtObj.contentType = ContentType.textType;
txtObj.contents = "私はたわし";
txtObj.paragraphs[0].appliedFont = app.fonts.item(MB101_B);
とすると、どうやらいけそうです(^^)。
//----- サンプルプログラム -----
//新規ドキュメントを起動
pageObj = app.documents.add();
pageObj.documentPreferences.pageWidth="210mm";
pageObj.documentPreferences.pageHeight="297mm";
//テキストフレームを作成
txtObj = pageObj.textFrames.add();
txtObj.visibleBounds = ["5cm","5cm","10cm","14cm"];
txtObj.contentType = ContentType.textType;
//テキストを入れる
MB101_B = "A-OTF ゴシックMB101 Pro B"; //ProとBの間はタブで
txtObj.contents = "私はたわし";
txtObj.paragraphs[0].appliedFont = app.fonts.item(MB101_B);
txtObj.paragraphs[0].pointSize = "24pt";

投稿者 winternao : 08:23 | コメント (0) | トラックバック
2006年02月18日
InDesignをJavaScriptで制御(4)
ここへ来て、ようやく解決しました(^^)。
アドビフォーラムすごい!!
すごい「勘違い」を最後にかましていたようです。(笑)
LeadingModel・・・リファレンスなんぞに載っていないし(-_-;)
// 行送りの基準位置
//-- 欧文ベースライン--
txtObj.paragraphs[0].leadingModel = LeadingModel.leadingModelRoman;
//--仮想ボディの下/左--
txtObj.paragraphs[0].leadingModel = LeadingModel.leadingModelAkiAbove;
//--仮想ボディの上/右--
txtObj.paragraphs[0].leadingModel = LeadingModel.leadingModelAkiBelow;
//--仮想ボディの中央--
txtObj.paragraphs[0].leadingModel = LeadingModel.leadingModelCenter;
これで、苦しみに苦しんでいた問題が一掃したぜ!!
投稿者 winternao : 19:15 | コメント (0) | トラックバック
2006年02月14日
InDesignをJavaScriptで制御(3)
だいぶナゾが解けてきました(^^)。
メモ書きで残しておきます。
(何の内容か分からんよね~:汗)
//禁則処理(強い禁則)
txtObj.paragraphs[0].kinsokuSet = kinsokuSet.hardKinsoku;
//禁則処理(新規に「オリジナル禁則」を作成されている場合)
txtObj.paragraphs[0].kinsokuSet = "オリジナル禁則";
//文字組み空き量(行末約物半角)
txtObj.paragraphs[0].mojikumi = MojikumiTableDefaults.lineEndAllOneHalfEmEnum;
//文字組み空き量(約物全角・段落1字下げ/オリジナルも可)
for (i=0; docObj.mojikumiTables.length; i++) {
var mojikumiTableObj=docObj.mojikumiTables[i];
if (mojikumiTableObj.name == "約物全角・段落1字下げ") {
txtObj.paragraphs[0].mojikumi = mojikumiTableObj;
break;
}
}
//行送りの基準位置(仮想ボディの中央) ←CSでは動くけどCS2では動かない?
txtObj.paragraphs[0].characterAlignment = CharacterAlignment.alignEmCenter;
投稿者 winternao : 08:44 | コメント (2) | トラックバック
2006年02月09日
InDesignをJavaScriptで制御(2)
InDesignでの文字組版も、プログラムで細部まで制御するとなると
だいぶ限界まできました・・・(^^;)。
一応システムとしては、既に稼動しているのですが、
オペレーターくん達は、何を思うか「完璧」を求めやがるので
こっちもムキになって対応していたりして(笑)。
でもこの技術は、今後のDTP自動組版の標準になるのは
ほぼ間違い無いと思うので、昨晩も英語版のリファレンスを読みながらだったり
ゴソゴソ調べる毎日です。
でも思えば、例えば文字組版で「禁則処理」とか言っても
禁則処理は日本特有のものであり、
英語のリファレンスに載っているはずが無い!と思い、
ちゃちい日本語リファレンスを調べると、何とかきっかけが分かった(^^)。
今こんな状態です。
●アドビフォーラム
http://forums.adobe.co.jp/
ここに掲載しているけど、反応がなーい(涙)。
投稿者 winternao : 18:03 | コメント (0) | トラックバック
2006年01月27日
InDesignをJavaScriptで制御
久々の掲載です。
ほんまに忙しくて、昨日の帰宅も2:30でした。
とあるギフト会社のカタログ用に、
自動スペック生成のプログラムが本日より稼動しはじめました。
制作環境もMacOS9からMacOSXになり
(10.3と10.4が混在していて非常に怪しいですが)
InDesignCS2というDTPソフトに切り替わり、
その中でのプログラム作成でした。
基本的には動作はしますが、
マシンによっては画像の配置位置が変わったりと
不可解な現象が多いです(泣)。
●InDesignCS自動化作戦
http://www.openspc2.org/book/InDesignCS/
今回の事で、InDesignCS2上でのJavaScriptの不可解な部分は
このサイトや管理者(本の筆者でもある)の古籏様にも
メールでご教授いただいたりしました。
ネット環境があってこその「感謝」でした(^^)。
ありがとうございました。
投稿者 winternao : 21:30 | コメント (0) | トラックバック
2005年10月20日
InDesignCSで双方向実現にむけて

↑MS Accessで簡単にデータベース

↑ODBCにてデータベースと連携

↑SmartCatalogでレイアウトデータを更新
久々の更新です。(^^;)
先週、今週とタイトルの件でいろいろ試行錯誤しつつ悩んでました。
データベースの絡む印刷物で、
現在DBの双方向連携を検討しております。
どういったものかと一言でいえば、
レイアウト上(InDesign)から直しても、DB上(例えばAccess)から直しても
同期するというものです。
仮に、チラシなどを制作していて、
レイアウト上(InDesign上)で24,800円のものを25,800円に修正したら、
価格表(データベース内)も24,800円から25,800円に反映させることが可能
になってきます。
別にInDesignに限らなくとも、この手の「双方向」というものは
ここ5~6年、ずっとネタとなっていることなのですが、
実現できている印刷会社&制作会社は、おそらく「ほんの一握り」でしょう。
InDesignCS2も発売されて、
プラグインソフトで「Smart Catalog」なるものも発売されていて
実験してましたが、この仕組みも現実的には「一方通行」のみでした。
いわばDB⇒レイアウトができても、レイアウト⇒DBは、そう簡単にはいきません。
(※)現在「英語版」しか発売されておりません。私はそのデモ版での試用です。
やはりInDesignで装備されているXMLが、一番可能性があるような気がする今日この頃です。
投稿者 winternao : 17:45 | コメント (0)
2005年08月02日
悩めるソフトInDesign
最近、仕事でこのソフトに悩まされています・・・。
http://www.adobe.co.jp/products/indesign/main.html
AdobeのInDesignというのですが、
簡単に言えば、新しい印刷物・制作用のアプリケーションです。
8/10頃に確か「CS2」がリリースされるそうですが、私は「CS」を使ってます。
この中に「タグ機能」というものがあって、
その「タグ」は文字通り「文字列」です。
そのタグを解析して、システム的に書き出しが可能になれば
「システム」と「制作」とを連動できるという構想です。
例えば「システム」の中に入っているデータベース(表組)を
必要分だけシステム上で抽出し、
その抽出したデータを元に「タグ」を書き出します。
これを、あとは自動的に配置(Macintosh上ならAppleScriptかな)できれば
システム内のものをあっさり「印刷物」で表現できるという
優れもの(出来ればの話^^;)なのです。
昔から「自動組版」と呼ばれるものには数多く手を出しましたが、
今回もいろいろ四苦八苦しそうです(×_×;)