【ACROBAT FORM】計算式内でのif文
Acrobatのフォーラム
PDFフォームで変動する税率計算
https://forums.adobe.com/thread/1549172
の
回答編
計算内でのif文で普通に計算です
小数点以下の丸め方はこちらを参考にしてください
-------
追記
「if_Math_rev3.pdf」をダウンロード
| 固定リンク
Acrobatのフォーラム
PDFフォームで変動する税率計算
https://forums.adobe.com/thread/1549172
の
回答編
計算内でのif文で普通に計算です
小数点以下の丸め方はこちらを参考にしてください
-------
追記
「if_Math_rev3.pdf」をダウンロード
| 固定リンク
Scripting Guide
Adobe Photoshop Scripting
http://www.adobe.com/devnet/photoshop/scripting.html
Adobe Photoshop CC 2014 Scripting
------------------
Adobe Photoshop CC 2014 SDK
Adobe Photoshop CC 2014 SDK
Adobe Photoshop CC
Download the Photoshop CC SDK for Windows (ZIP, 17.1 MB)
Download the Photoshop CC SDK for Macintosh (ZIP, 17.2 MB)
Photoshop CS6 SDK
Download the Photoshop CS6 SDK for Windows (ZIP, 17.1 MB)
Download the Photoshop CS6 SDK for Macintosh (ZIP, 17.2 MB)
Photoshop CS5 SDK
Download the Photoshop CS5 SDK for Windows (ZIP, 29.3 MB)
Download the Photoshop CS5 SDK for Macintosh (ZIP, 28.8 MB)
Photoshop Touch SDK
Download the Photoshop Touch SDK for Windows (ZIP, 17.1 MB)
Download the Photoshop Touch SDK for Macintosh (ZIP, 17.1 MB)
Photoshop CS4 SDK
Download the Photoshop CS4 SDK for Windows (ZIP, 12.3 MB)
Download the Photoshop CS4 SDK for Macintosh (ZIP, 12.3 MB)
Photoshop CS3 SDK
Download the Photoshop CS3 SDK universal binary (ZIP, 11.8 MB)
Photoshop CS2 SDK
Download the Photoshop CS2 SDK for Windows (ZIP, 8.8 MB)
Download the Photoshop CS2 SDK for Macintosh (ZIP, 9.0 MB)
Photoshop CS SDK
Download the Photoshop CS SDK for Windows (ZIP, 8.9 MB)
Download the Photoshop CS SDK for Macintosh (HQX, 12.8 MB)
| 固定リンク
Scripting Guide
Adobe Illustrator CC 2014 Scripting Guide
http://www.adobe.com/devnet/illustrator/scripting.html
------------------
Adobe Illustrator CS2 SDK
Adobe Illustrator CS SDK
| 固定リンク
どうも
Adobeの仕様通りの動作じゃないような
気がするのですが
期待値の動作になるので…(そんなので良いのか…笑)公開
1ページ目にスタンプを付けます
スタンプを選択状態にしてから
スクリプトを実行すると
全てのページにコピーされます
------------------------
//
//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」をダウンロード
実際の動作は以下
| 固定リンク