« [Favicon]faviconの記述 2014夏版 apple-touch-icon | トップページ | Adobe Illustrator CC 2014 SDK & Scripting Guide »

[STAMP]全てのページにスタンプをコピーする

どうも
Adobeの仕様通りの動作じゃないような
気がするのですが
期待値の動作になるので…(そんなので良いのか…笑)公開

Website_image00260810_140223


1ページ目にスタンプを付けます
スタンプを選択状態にしてから
スクリプトを実行すると
全てのページにコピーされます

Website_image00260810_140235


------------------------

//

//SetStampAnnotationAllPage

//20140809 v1

//選択したスタンプを全てのページにコピーします

//Acrobatの仕様通りには動いていないが

//結果としては期待値なので公開

//Adobe Reader 11 OSX 10.6.8 にて確認

//インストール先は

//ディスク名/Users/ユーザー名/Library/Application Support/Adobe/Acrobat/11.0/JavaScripts

//メニュー本体


function SetStampAnnotationAllPage(){

//まずはコンソール(デバッガー)を出さないと

//結果が見れませんので出しておきます

//console.show();


//はロックする  しない場合は「false」に変更

this.selectedAnnots[0].setProps({ lock:true});

//リードオンリーにする  しない場合は「false」に変更

this.selectedAnnots[0].setProps({ readOnly:true});


//日付けを取得 date(ja)日本形式で

var objDate = new Date();

var JpDate = util.printd("date(ja){ggg' 'YYYY' 'MMMM' 'DD'('EEEE')'}",objDate,true);


//nameプロパティを取得

var cStrName = this.selectedAnnots[0].name;

//APプロパティを取得

var cStrAP = this.selectedAnnots[0].AP;

//subjectプロパティを取得

var cStrSubject = this.selectedAnnots[0].subject;

//authorプロパティを取得

var cStrAuthor = this.selectedAnnots[0].author;

//stateプロパティを取得

var cStrState = this.selectedAnnots[0].state;

//rotateプロパティを取得

var cStrRotate = this.selectedAnnots[0].rotate;

//popupRectプロパティを取得

var cStrPopupRect = this.selectedAnnots[0].popupRect;

//typeプロパティを取得

var cStrType = this.selectedAnnots[0].type;

//pageプロパティを取得

var cStrPage = this.selectedAnnots[0].page;

//rectプロパティを取得

var cStrRect = this.selectedAnnots[0].rect;

//rectの4つの値をそれぞれに分ける

var numXll = cStrRect[0];

var numYll = cStrRect[1];

var numXur = cStrRect[2];

var numYrl = cStrRect[3];

//少数点以下を切り捨て

var numXll = Math.floor(numXll);

var numYll = Math.floor(numYll);

var numXur = Math.floor(numXur);

var numYrl = Math.floor(numYrl);

//デバッグ用のコンソールログ

console.println('numXll: ' + numXll + ' ');

console.println('numYll: ' + numYll + ' ');

console.println('numXur: ' + numXur + ' ');

console.println('numYrl: ' + numYrl + ' ');

//整数になった値を並べる

var cStrRectFloor = [numXll,numYll,numXur,numYrl];

//デバッグ用のコンソールログ

console.println('rect: ' + cStrRectFloor + ' ');

//コメント※READERでは機能しない

try{

var cStrContents = this.selectedAnnots[0].contents;

console.println('contents: ' + cStrContents + ' ');

}catch( e ){

/////////////☆ここだけ設定項目 コンテンツの内容を指定

var cStrContents = JpDate + "" + cStrAuthor + " が追加しました";

}

//今のページ番号を取得

var numNowPage = this.pageNum;

//ページのカウント用の数値の初期化

var numPageCnt = 0;

//全ページ数を取得

var numAllPageCnt = this.numPages ;

//繰り返しの始まり

while (+numPageCnt < numAllPageCnt) {

//次のページへ移動する

var numPageCnt = +numPageCnt + 1;

//注釈を追加する処理

var annot = this.addAnnot

({

name: cStrName,//スタンプの名前

AP: cStrAP,//AP

subject: cStrSubject,//サブジェクトはスタンプのプロパティのタイトルになります

author: cStrAuthor,//ユーザー名スタンプのプロパティの作成者

page: numPageCnt,//注釈を入れるページ(現在のページ)

type: cStrType,//タイプはスタンプ

rect: cStrRectFloor,//注釈を落とす位置xy左下が0,0

//rect: [numXll,numYll,numXur,numYrl],

popupRect: cStrPopupRect,//ポップアップを開く位置

contents: cStrContents,//コメント

opacity:0.75,//75%の不透明度

print:true,//印刷する属性を付けておく(意味ないけど)

state:cStrState,//Accepted, Rejected,Cancelled, Completed None のどれか

rotate: cStrRotate,//回転

delay: true,//ディレイ(true or false)

noView: false ,//表示(true or false)

hidden: false ,//隠すか?(true or false)

popupOpen: false, //ポップアップをオープンするか?(true or false)

lock:true,//☆ロックする ロックしない場合は「false」に変更

//留意事項リードオンリー属性をtrueにすると、普通の方法ではスタンプが削除出来なくなります。

//削除出来ないようにするには良いですが、削除が必要な場合にはfalseに設定しましょう

readOnly:true//☆リードオンリーにする しない場合は「false」に変更

//スタンプ実行部の終了

});

//ページカウントをカウントアップ

this.pageNum++;

//繰り返しの終わり

}

//処理の終わり

}


///拡張メニュー部

app.addToolButton({

cName: "SetStampAnnotationAllPage",

cParent: "Annots",

cExec: "SetStampAnnotationAllPage()",

cEnable: "event.rc = true",

cMarked: "event.rc = false",

cTooltext: "選択したスタンプを以降のページ全てにコピーする",

nPos: -1,

cLabel: "Set Stamp All Page"


});


----------------------------------------

ファイルのダウンロードは以下

「stamp_anot2allpage.zip」をダウンロード


実際の動作は以下

Website_image00260810_142906

http://youtu.be/GFEPEG0oUrs


|

« [Favicon]faviconの記述 2014夏版 apple-touch-icon | トップページ | Adobe Illustrator CC 2014 SDK & Scripting Guide »

AcrobatStamp」カテゴリの記事