前回のIndesign「XHTML/Dreamweaverへのコンテンツの書き出し」 からのつづき。
「メディア間の書き出し」機能は、確かに便利なんですが、何百ページもあるデータを各ページずつに手動で書き出すのは面倒。ファイル名の付け方も間違う可能性もあります。
なんとかJavascriptで自動化できないかとググッてみたら、海外で同じようなコードが見つかったので、ドイツ(Ichとか書いてあったので多分)のIndesignのフォーラムから拾ってきました。
どこの国でも同じようなことを悩んでいる方は、いらっしゃいますなw
JavascriptでInDesignコンテンツのXHTMLの書き出し
app.scriptPreferences.version = 5.0;
var outputFile = File('/c/test/test.html');
var document = app.activeDocument;
var scriptPath = Folder.startup + '/Scripts/Export as XHTML/';
var scriptFile = File(scriptPath + 'XHTMLExport.jsxbin');
if (scriptFile.exists) {
scriptFile.open();
var script = scriptFile.read();
scriptFile.close();
eval(script);
var opts = new XHTMLExportOptions();
opts.styleHandling = XHTMLExportOptions.extStyleSheet;
opts.styleSheet = 'template.css';
opts.formatted = true;
app.exportForWebPreferences.gifOptionsInterlaced = true;
var exporter = new XHTMLExporter(scriptFile);
var success = exporter.doExport(document, undefined, opts, outputFile); // check the results:
if(success)
{
/*if(exporter.outOfDateLinks.length > 0)
{
alert('Exporting ' + document.name + ' succeeded\nHowever ' + exporter.outOfDateLinks.length + ' links were out of date.');
} */
}
else
{
alert('Exporting ' + document.name + ' failed with this error message:\n' + exporter.error.message);
}
}
via:Javascript XHTML Export - Adobe InDesign - HilfDirSelbst.ch - Forum
アプリケーションフォルダ内のScriptsフォルダの中の「export as xhtml」に入ってる「.jsxbin」ファイルを読み込んで、ゴニョゴニョしているようです。
ただ、これだとドキュメント全体をXHTMLに書き出すので、全ページがつながったXHTMLができあがるだけ。それでは【ファイル>メディア間の書き出し】で、ドキュメントを書き出しているのと同じ結果ですね。
ボクがやりたいのは、Javascriptでページごとに分割、または選択範囲のみの書き出しを自動化したいんやけど。
ちなみに上記のコードで書き出す対象(var documentの箇所)をページに変えたら、エラーが出てページごとに書き出せない。選択範囲のみを書き出す設定も出来ないっぽい。
多分、XHTMLExportOptionsでなんとかするんだろうけど、読み込んでいる「.jsxbin」がコンパイル済みのファイルなので、中身をみることもできない。どうなってるんだろう??今のボクの脳みそでは解明は無理っす。
やりたいことは解決していないけど、XHTML Exportはモジュール化した外部スクリプトを読み込んで動かすってことが分かりました。
下記のPDFも参考になりそうなのでリンク。


![商用OK・加工OKの無料画像素材集[KOYU写]](http://www.kys-lab.com/common_files/img/banner/kys_photo_banner_120x90.gif)



コメントする