admin管理员组文章数量:1532440
2024年4月25日发(作者:)
Acrobat Reader添加书签功能
pdf格式是众多电子教程的首选格式,可惜居然不支持书签的功能,让人
觉得很不方便,在网上找了一下,发现有如下的解决方案,很好PDF文件的官
方阅读程序"Adobe Acrobat Reader"不支持自定义"书签"功能,就造成当阅读
长篇幅文档时,根本无法通过添加多个书签的办法来实现快速定位。发扬DIY
的精神,为Acrobat Reader制造出书签功能吧!利用Adobe Acrobat Reader
支持Javascript插件的方式,可以很容易地实现!第一步:将从下载的文件解
压缩,把其中的"bookmark_"文件复制到"c:Program
FilesAdobeReader 8.0ReaderJavascripts"文件夹下,然后启动Adobe
Acrobat Reader软件,依次点击"编辑→首选项→Javascript",将右侧界面中
的前三个选项全部选中(见图1)。第二步:打开一个PDF文件,会发现左侧多
了一个"书签"图标,点击它可得到树状结构的目录列表,当浏览到感兴趣的页
面时,依次点击"视图→Bookmark This Page"(将该页加到书签),在弹出对话
框中输入对此页的描述即完成了书签的添加(见图2)。第三步:当需要快速打
开添加了书签的页面时,只要依次点击"视图→Go To Bookmark"(转到书签),
从弹出的小界面上点击相应名称的书签即可(见图3)。如果仅仅想删除某一个
或几个书签,点击"视图→Remove aBookmark"(删除书签),在弹出的小界面中
单击不想继续使用的书签就可以删除了;如果想将所有的书签删除,可点击"视
图→Clear Bookmark"(清理书签)就能一次性全部删除了。小提示:这个脚本仅
能使用在adobe reader8.0的版本,其他的我没有测试过,请注意(以后版本也
可以用)该插件创建的书签不是针对某一本书单独存放,而是全局性的,比如A
和B两个PDF文件都创建了书签,当在B文件中使用书签功能时,书签列表中
同样会出现A文件的书签!因此创建书签时一定要注明PDF文件的名称,省得
日后混淆。另外移动PDF文件位置后,曾经添加的书签将失效!=附文件内容,
已做简单汉化=bookmark_//bookmark_,ver.1.0//visit:
/bookmark_page///use this delimiter for serializing
our array var bp_delim='%#%#';function SaveData(data){//data is an
array of arrays that needs//to be serialized and stored into
apersistent//global string var ds='';for(ii=0;ii ;
++ii){for(jj=0;jj 3;++jj){if(ii!=0||jj!=0)ds+=bp_delim;
ds+=data[ii][jj];}}_hacks_js_bookmarks=ds;
sistent("pdf_hacks_js_bookmarks",true);}function
GetData(){//reverse of SaveData;return an array of arrays
if(_hacks_js_bookmarks==null){return new Array(0);}var
flat=_hacks_js_(bp_delim);var data=new
Array();for(ii=0;ii ;){var record=new Array();for(jj=0;
jj 3&&ii ;
++ii,++jj){(flat[ii]);}if(==3){(rec
ord);}}return data;}function AddBookmark(){//query the user for
aname,and then combine it with//the current PDF page to create
arecord;store this record var label=se("Bookmark Name:
","Bookmark Name","",false);if(label!=null){var record=new Array(3);
record[0]=label;record[1]=;record[2]=m;
data=GetData();(record);SaveData(data);}}function
ShowBookmarks(){//show apop-up menu;this seems to only work when//a
PDF is alreay in the viewer;var data=GetData();var items='';
for(ii=0;ii ;++ii){if(ii!=0)items+=',';items+='"'+ii+':
'+data[ii][0]+'"';}//assemble the command and the execute it with
eval()var command='enu('+items+');';var
selection=eval(command);if(selection==null){return;//exit}//the
user made aselection;parse out its index and use it//to access the
bookmark record var index=0;//toString()converts the String object
to astring literal//eval()converts the string literal to anumber
index=eval(ing(0,f(':')).toString());
if(index ){try{//the document must be'disclosed'for us to
have any access//to its properties,so we use these FirstPage NextPage
calls//c(data[index][1]);nuItem("FirstPage");
for(ii=0;ii data[index][2];
++ii){nuItem("NextPage");}}catch(ee){var
response=("Error trying to open the requested
d Iremove this bookmark?",2,2);if(response==4&&index
){(index,1);SaveData(data);}}}}function
DropBookmark(){//modelled after ShowBookmarks()var data=GetData();
var items='';for(ii=0;ii ;++ii){if(ii!=0)items+=',';
items+='"'+ii+':'+data[ii][0]+'"';}var
command='enu('+items+');';var selection=eval(command);
if(selection==null){return;//exit}var index=0;
index=eval(ing(0,f(':')).toString());
if(index ){(index,1);
SaveData(data);}}function ClearBookmarks(){if(("确定要清除
所有的书签吗?",2,2)==4){SaveData(new
Array(0));}}uItem({cName:"-",//menu divider cParent:
"View",//append to the View menu cExec:"void(0);"});
uItem({cName:"添加本页为书签&5",cParent:"View",cExec:
"AddBookmark();",cEnable:"=(!=null);"});
uItem({cName:"转到书签&6",cParent:"View",cExec:
"ShowBookmarks();",cEnable:"=(!=null);"});
uItem({cName:"移走一个书签",cParent:"View",cExec:
"DropBookmark();",cEnable:"=(!=null);"});
uItem({cName:"清除书签",cParent:"View",cExec:
"ClearBookmarks();",cEnable:"=true;"});
版权声明:本文标题:AcrobatReader添加书签功能 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1713994209a382051.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论