教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高等教育 >

经典如何给PDF文件添加书签

来源:网络收集 时间:2026-07-10
导读: 最近经常看一些PDF的电子文档,痛苦的是Adobe Reader竟然没有提供书签的功能,每次看完之后再回到上次看的地方都很麻,到网上一找,还真有人就做了PDF的书签,下载一试效果不错,于是参看了一下Adobe Reader的SDK,修改了一点地方,防止了乱码,以更方便的使

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

1、打开编辑的首选项项

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

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

varbp_delim= '%#%#';

functionSaveData( data )

{

// data is an array of arrays that needs

// to be serialized and stored into a persistent

// global string

var ds= '';

data.sort();

for( ii= 0; ii<data.length; ++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()

{

// reverse of SaveData; return an array of arrays

if(global.pdf_hacks_js_bookmarks== null )

{

return new Array(0);

}

var flat= global.pdf_hacks_js_bookmarks.split( bp_delim );

var data= new Array();

for( ii= 0; ii<flat.length; )

{

var record= new Array();

for(jj= 0; jj< 3 && ii<flat.length; ++ii, ++jj )

{

record.push( flat[ii] );

}

if(record.length== 3 )

{

data.push( record );

}

}

return data;

}

//Get Current Date

functionDateNow()

{

var d, tmp ,s ;

d = new Date();

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()

{

// query the user for a name, and then combine it with

// the current PDF page to create a record; store this record varthisfilename=this.documentFileName;

thisfilename=thisfilename.substr(0,http://doc.guandang.netstIndexOf(".")); varnumLen = this.numPages.toString().length;

varnumPlugInss=this.pageNum+1;

while(numPlugInss.toString().length <numLen)

{

numPlugInss = "0" + numPlugInss;

}

varcurrentdate=DateNow();

var label="《"+thisfilename+"》第 "+numPlugInss+" 页/共

"+this.numPages+" 页 " + currentdate;

varcResponse = app.response(

{ cQuestion: label, cTitle: "添加书签", cDefault: "无备注",

cLabel: "备注:"

});

if(cResponse!= null )

{

var record= new Array(3);

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

record[1]= this.path;

record[2]= this.pageNum;

data= GetData();

data.push( record );

SaveData( data );

}

}

functionShowBookmarks()

{

// show a pop-up menu; this seems to only work when

// a PDF is alreay in the viewer;

var data= GetData();

var items= '';

for( ii= 0; ii<data.length; ++ii )

{

if( ii!= 0 )

items+= ', ';

items+= '"'+ ii+ ': '+ data[ii][0]+ '"';

}

// assemble the command and the execute it with eval()

var command= 'app.popUpMenu( '+ items+ ' );';

var selection= eval( command );

if( selection== null )

{

return; // exit

}

// the user made a selection; parse out its index and use it // to access the bookmark record

var index= 0;

// toString() converts the String object to a string literal // eval() converts the string literal to a number

index= eval( selection.substring( 0,

selection.indexOf(':') ).toString() );

if( index<data.length )

{

try

{

// the document must be 'disclosed' for us to have any access // to its properties, so we use these FirstPageNextPage calls //

if(this.path == data[index][1]) { } else { } varotherDoc = app.openDoc( data[index][1]); otherDoc.pageNum = data[index][2]; this.pageNum= data[index][2];

}

catch(ee )

{

var response=

app.alert("打开书签错误. 是否删除本书签?", 2, 2,"删除书签"); if( response== 4 && index<data.length )

{

data.splice( index, 1 );

SaveData( data );

}

}

}

}

functionDropBookmark()

{

// modelled after ShowBookmarks()

var data= GetData();

var items= '';

for( ii= 0; ii<data.length; ++ii )

{

if( ii!= 0 )

items+= ', ';

items+= '"'+ ii+ ': '+ data[ii][0]+ '"';

}

var command= 'app.popUpMenu( '+ items+ ' );';

var selection= eval( command );

if( selection== null )

{

return; // exit

}

var index= 0;

index= eval( selection.substring( 0,

selection.indexOf(':') ).toString() );

if( index<data.length )

{

data.splice( index, 1 );

SaveData( data );

}

}

functionClearBookmarks()

{

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

{

SaveData( new Array(0) );

}

}

app.addMenuItem(

{

cName: "-", // menu pider

cParent: "View", // append to the View menu

cExec: "void(0);"

} );

app.addMenuItem(

{

cName: "AddBookmark",

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

cParent: "View",

cExec: "AddBookmark();",< …… 此处隐藏:2756字,全部文档内容请下载后查看。喜欢就下载吧 ……

经典如何给PDF文件添加书签.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1705267.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)