如何在pdf中添加自己小工具,以下示范添加一个打圈圈功能的插件

新建文本文档.txt

把下面代码复制粘贴到文件中保存并改名qq.js

插件放在安装目录下

设置一下

工具就出现

global.cs = 1; //count 开始号码

global.cs1 = 8; //字体大小

global.cs2 = 10; //圈圈大小

var dialog1 =

{

initialize: function(dialog){

}

, commit: function(dialog)

{

// called when OK pressed

var results = dialog.store();

global.cs = results["fnum"];

global.cs1 = results["tnum"];

global.cs2 = results["qnum"];

}

, description:

{

name: "Personal Data", // Dialog box title

align_children: "align_left", width: 120, height: 200, elements: [

{

type: "cluster", name: "参数", align_children: "align_left",

elements: [

{

type: "view", align_children: "align_row", elements: [

{

type: "static_text", name: "开始号码: "

}

,

{

item_id: "fnum", type: "edit_text", alignment: "align_fill",

width: 80, height: 20

}

]

}

,

{

type: "view", align_children: "align_row", elements: [

{

type: "static_text", name: "字体大小: "

}

,

{

item_id: "tnum", type: "edit_text", alignment: "align_fill",

width: 80, height: 20

}

]

}

,

{

type: "view", align_children: "align_row", elements: [

{

type: "static_text", name: "圈圈大小: "

}

,

{

item_id: "qnum", type: "edit_text", alignment: "align_fill",

width: 80, height: 20

}

]

}

]

}

,

{

alignment: "align_center", type: "ok_cancel", ok_name: "Ok",

cancel_name: "Cancel"

}

]

}

};

var myscipt = "\n" "var Dx=global.cs2;\n"

"var x1=this.mouseX-parseInt(Dx);\n" "var x2=this.mouseX parseInt(Dx);\n"

"var y1=this.mouseY-parseInt(Dx);\n"

"var y2=this.mouseY parseInt(Dx);\n" "var rr=new Array(4);\n"

"rr[0]=x1;\n" "rr[1]=y1;\n" "rr[2]=x2;\n" "rr[3]=y2;\n"

"var annot = this.addAnnot({\n" "page: this.pageNum,\n"

"type: \"Circle\",\n" "rect: rr,\n" "readonly : true,\n"

"strokeColor :color.red ,\n" "fillColor:color.transparent,\n"

"name: \"圆\"\n" "});\n"

"var m = (new Matrix2D).fromRotated(this,this.pageNum);\n"

"var mInv = m.invert();\n" "r= mInv.transform(rr);\n"

"r=r.toString();\n" "r = r.split(\",\");\n"

"var count=parseInt(global.cs );\n"

"var f = this.addField(\"qq\" count, \"text\",this.pageNum,[r[0], r[1], r[2], r[3]] );\n" "f.delay = true;\n" "f.alignment = \"center\";\n" "f.textSize=parseInt(global.cs1);\n" "f.value=count;\n" "f.readonly = false;\n" "f.borderStyle = border.s;\n" "f.lineWidth = 0;\n" "f.strokeColor = color.transparent;\n" "f.delay = false;\n"function addbottononpage()

{

if (this.getField("圈圈") == null)

{

var aRect = this.getPageBox(

{

nPage: this.pageNum

}

); //获取当前页大小

var f = this.addField("圈圈", "button", this.pageNum, aRect);

//增加一个当前页大小一样得按钮

f.delay = true;

f.setAction("MouseDown", myscipt); //设置鼠标按下动作

f.highlight = highlight.n;

f.readonly = false;

f.borderStyle = border.s;

f.lineWidth = 0;

f.strokeColor = color.transparent;

f.delay = false;

}

app.execDialog(dialog1);

}

function removestop()

{

if (this.getField("圈圈") != null)

this.removeField("圈圈");

}

// 加入菜单color.red

app.addMenuItem(

{

cName: "快速打圈圈", cUser: "打圈圈", cParent: "Document", cExec:

"addbottononpage();", cEnable: "event.rc = (event.target != null);",

nPos: 0

}

);

//加入按钮

app.addToolButton(

{

cName: "打圈圈", cLabel: "打圈圈", cEnable: "event.rc = (app.doc != null);",

cExec: "addbottononpage();"

}

);

app.addToolButton(

{

cName: "STOP", cLabel: "STOP", cEnable: "event.rc = (app.doc != null);",

cExec: "removestop();"

}

);

// end of script

pdf如何添加页面(pdf中添加小工具方法)(1)

pdf如何添加页面(pdf中添加小工具方法)(2)

pdf如何添加页面(pdf中添加小工具方法)(3)

,