给PDF加书签防书签乱码版.docx

上传人:b****5 文档编号:11615006 上传时间:2023-03-28 格式:DOCX 页数:10 大小:81.33KB
下载 相关 举报
给PDF加书签防书签乱码版.docx_第1页
第1页 / 共10页
给PDF加书签防书签乱码版.docx_第2页
第2页 / 共10页
给PDF加书签防书签乱码版.docx_第3页
第3页 / 共10页
给PDF加书签防书签乱码版.docx_第4页
第4页 / 共10页
给PDF加书签防书签乱码版.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

给PDF加书签防书签乱码版.docx

《给PDF加书签防书签乱码版.docx》由会员分享,可在线阅读,更多相关《给PDF加书签防书签乱码版.docx(10页珍藏版)》请在冰豆网上搜索。

给PDF加书签防书签乱码版.docx

给PDF加书签防书签乱码版

最近经常看一些PDF的电子文档,痛苦的是AdobeReader竟然没有提供书签的功能,每次看完之后再回到上次看的地方都很麻,到网上一找,还真有人就做了PDF的书签,下载一试效果不错,于是参看了一下AdobeReader的SDK,修改了一点地方,防止了乱码,以更方便的使用,下面是程序的使用方法

1、打开编辑的首选项项

2、确保下面的选项都被选中

3把下面的代码保存为一个bookmark_page.js文件

varbp_delim='%#%#';

functionSaveData(data)

{

//dataisanarrayofarraysthatneeds

//tobeserializedandstoredintoapersistent

//globalstring

vards='';

data.sort();

for(ii=0;ii

{

for(jj=0;jj<3;++jj)

{

if(ii!

=0||jj!

=0)

ds+=bp_delim;

ds+=data[ii][jj];

}

}

global.pdf_hacks_js_bookmarks=ds;

global.setPersistent("pdf_hacks_js_bookmarks",true);

}

functionGetData()

{

//reverseofSaveData;returnanarrayofarrays

if(global.pdf_hacks_js_bookmarks==null)

{

returnnewArray(0);

}

varflat=global.pdf_hacks_js_bookmarks.split(bp_delim);

vardata=newArray();

for(ii=0;ii

{

varrecord=newArray();

for(jj=0;jj<3&&ii

{

record.push(flat[ii]);

}

if(record.length==3)

{

data.push(record);

}

}

returndata;

}

//GetCurrentDate

functionDateNow()

{

vard,tmp,s;

d=newDate();

t=d.getFullYear();

s=t+"/";

t=(d.getMonth()+1).toString();

if(t.length!

=2)t="0"+t;

s+=t+"/";

t=(d.getDate()).toString();

if(t.length!

=2)t="0"+t;

s+=t;

return(s);

}

functionAddBookmark()

{

//querytheuserforaname,andthencombineitwith

//thecurrentPDFpagetocreatearecord;storethisrecord

varthisfilename=this.documentFileName;

thisfilename=thisfilename.substr(0,thisfilename.lastIndexOf("."));

varnumLen=this.numPages.toString().length;

varnumPlugInss=this.pageNum+1;

while(numPlugInss.toString().length

{

numPlugInss="0"+numPlugInss;

}

varcurrentdate=DateNow();

varlabel="《"+thisfilename+"》第"+numPlugInss+"页/共"+this.numPages+"页"+currentdate;

varcResponse=app.response(

{

cQuestion:

label,

cTitle:

"添加书签",

cDefault:

"无备注",

cLabel:

"备注:

"

});

if(cResponse!

=null)

{

varrecord=newArray(3);

record[0]=label+""+cResponse;

record[1]=this.path;

record[2]=this.pageNum;

data=GetData();

data.push(record);

SaveData(data);

}

}

functionShowBookmarks()

{

//showapop-upmenu;thisseemstoonlyworkwhen

//aPDFisalreayintheviewer;

vardata=GetData();

varitems='';

for(ii=0;ii

{

if(ii!

=0)

items+=',';

items+='"'+ii+':

'+data[ii][0]+'"';

}

//assemblethecommandandtheexecuteitwitheval()

varcommand='app.popUpMenu('+items+');';

varselection=eval(command);

if(selection==null)

{

return;//exit

}

//theusermadeaselection;parseoutitsindexanduseit

//toaccessthebookmarkrecord

varindex=0;

//toString()convertstheStringobjecttoastringliteral

//eval()convertsthestringliteraltoanumber

index=eval(selection.substring(0,selection.indexOf(':

')).toString());

if(index

{

try

{

//thedocumentmustbe'disclosed'forustohaveanyaccess

//toitsproperties,soweusetheseFirstPageNextPagecalls

//

if(this.path==data[index][1])

{

this.pageNum=data[index][2];

}

else

{

varotherDoc=app.openDoc(data[index][1]);

otherDoc.pageNum=data[index][2];

}

}

catch(ee)

{

varresponse=

app.alert("打开书签错误.是否删除本书签?

",2,2,"删除书签");

if(response==4&&index

{

data.splice(index,1);

SaveData(data);

}

}

}

}

functionDropBookmark()

{

//modelledafterShowBookmarks()

vardata=GetData();

varitems='';

for(ii=0;ii

{

if(ii!

=0)

items+=',';

items+='"'+ii+':

'+data[ii][0]+'"';

}

varcommand='app.popUpMenu('+items+');';

varselection=eval(command);

if(selection==null)

{

return;//exit

}

varindex=0;

index=eval(selection.substring(0,selection.indexOf(':

')).toString());

if(index

{

data.splice(index,1);

SaveData(data);

}

}

functionClearBookmarks()

{

if(app.alert("确认要清除所有的书签吗,删除后将不可恢复?

",2,2,"删除书签")==4)

{

SaveData(newArray(0));

}

}

app.addMenuItem(

{

cName:

"-",//menudivider

cParent:

"View",//appendtotheViewmenu

cExec:

"void(0);"

});

app.addMenuItem(

{

cName:

"AddBookmark",

cUser:

"设置本页为书签(&B)",

cParent:

"View",

cExec:

"AddBookmark();",

cEnable:

"event.rc=(event.target!

=null);"

});

app.addMenuItem(

{

cName:

"ShowBookmarks",

cUser:

"转到指定书签(&T)",

cParent:

"View",

cExec:

"ShowBookmarks();",

cEnable:

"event.rc=(event.target!

=null);"

});

app.addMenuItem(

{

cName:

"DropBookmark",

cUser:

"删除一个书签(&D)",

cParent:

"View",

cExec:

"DropBookmark();",

cEnable:

"event.rc=(event.target!

=null);"

});

app.addMenuItem(

{

cName:

"ClearBookmarks",

cUser:

"删除所有书签(&C)",

cParent:

"View",

cExec:

"ClearBookmarks();",

cEnable:

"event.rc=true;"

});

4将文件拷贝到C:

\ProgramFiles(x86)\Adobe\Reader10.0\Reader\Javascripts目录下

5重新打开AdobeReader,看看下面的视图,相信不用说任何东西,大家都会用了

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1