InDesignにPDFをページ逆順に配置するスクリプトです。
16ページのPDFなら16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1と配置します。
PDFのページ数は[var pdf_pages = 16;]に決め打ちで入力
配置場所も[var rectbounds = [-3,-3,303,216];]な感じで書き換えてください。
大阪DTP勉強会で作った分です。
if (app.documents.length == 0){
alert("ドキュメントを開いて実行してください。");
exit;
}
var pdf_pages = 16;
var selFile = File.openDialog("PDFファイルを選択してください");
for(var p = pdf_pages;p > 0;p--){
app.pdfPlacePreferences.pageNumber = p;
if(p == pdf_pages){
var pageObj = app.activeDocument.pages[0];
}else{
var pageObj = app.activeDocument.pages.add();
}
var rectObj = pageObj.rectangles.add();
rectObj.strokeWeight = 0;
var rectbounds = [-3,-3,303,216];
rectObj.geometricBounds = rectbounds;
var pdfobj = rectObj.place(selFile);
rectObj.fit (FitOptions.CENTER_CONTENT);
}






オーバーフローテキストフレームは全ての文字をルビ処理します。
誕生日(たんじょうび)
なら誕生日にグループルビが付きます。
誕生日(たん.じょう.び)
なら誕生日にモノルビ"."区切りで付きます。
(普通こういうのは","区切りとかなのですがWindowsのテンキーでも打てるピリオドにしました。)
モノルビの場合、親文字の数とルビの数が合わない場合はエラーになります。
モノルビで親文字の数とルビの数が合わない場合
漢字、カタカナ、ひらがな、アルファベット数字にルビがつきます(インラインは不可)
親文字は同じ種類の文字の連続する部分までとなります。
先輩諸氏(しょし)なら、諸氏だけにルビがついてほしいですが、漢字の連続なので「先輩諸氏」に対してルビがつきます。
連結テキストフレームに関しては見えている部分のみ処理します。
全て処理したい時はテキスト選択で実行してください。
いきさつ
今回はINDD2012京都でルビ振りスクリプトを紹介したのですがそのスクリプトに対して
きぃうぃ(KiwiBird2004) さんから
WORDからルビ付き文字をコピー&ペーストしたものに対応できませんか?というツイートがありました。
「誕生日(たんじょうび)」こんな感じのテキストになるのですが、
ルビの親文字はどこまでか判定しないといけないので少し手間取るなと思いましたが
面白そうとのことで
流星光輝 @ryusei3000さん
ものかの @monokanoさん
AJABON GRINSMITH @AJABONさん
が一緒にやりましょうと協力してくれる事になりました。
テストや正規表現、エラー処理等ツイッターでやりとりしながら完成したスクリプトになります。
わたしひとりで作った物ではないのですがオープンソースという事で自由に改訂してもらえればと思いますが
改訂した物をアップする際はソースも公開してください。
ダウンロードはこちら