首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

替pdf添加书签

2012-10-24 
为pdf添加书签第一步:建立一个新的txt文档,将如下代码全部复制进去!!!!// bookmark_page.js, ver. 1.0// v

为pdf添加书签
第一步:建立一个新的txt文档,将如下代码全部复制进去!!!!

// bookmark_page.js, ver. 1.0// visit: www.pdfhacks.com/bookmark_page/// edit:cjs 2008-02-17// 1 修改为中文标签// 2 设置书签时可以自动获取当前的书名// 3 自动获取当前所在的页码与总页数,方便查阅// 4 实现更多功能可以参看Adobe Reader的SDK// use this delimiter for serializing our arrayvar bp_delim= '%#%#';function SaveData( data ){// data is an array of arrays that needs// to be serialized and stored into a persistent// global stringvar ds= '';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 );}function GetData() {// reverse of SaveData; return an array of arraysif( 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 Datefunction DateNow(){var d, s ;d = new Date();s = d.getFullYear()+"/";s += (d.getMonth() + 1) + "/";s += d.getDate() ;return(s);}function AddBookmark() {// query the user for a name, and then combine it with// the current PDF page to create a record; store this recordvar thisfilename=this.documentFileName;thisfilename=thisfilename.substr(0,thisfilename.lastIndexOf("."));var numPlugInss=this.pageNum+1;var currentdate=DateNow();var label=   app.response( "书签名称,可以修改以便于记忆:",   "书签名称",   "《"+thisfilename+"》第 "+numPlugInss+" 页/共 "+this.numPages+" 页 "+currentdate,   false );if( label!= null ) {   var record= new Array(3);   record[0]= label;   record[1]= this.path;   record[2]= this.pageNum;   data= GetData();   data.push( record );   SaveData( data );}}function ShowBookmarks() {// 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 ()var command= 'app.popUpMenu( '+ items+ ' );';var selection= ( command );if( selection== null ) {   return; // exit}// the user made a selection; parse out its index and use it// to access the bookmark recordvar index= 0;// toString() converts the String object to a string literal// () converts the string literal to a numberindex= ( 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 FirstPage NextPage calls    //    app.openDoc( data[index][1] );    app.execMenuItem( "FirstPage" );    for( ii= 0; ii< data[index][2]; ++ii ) {     app.execMenuItem( "NextPage" );    }   }   catch( ee ) {    var response=     app.alert("打开书签错误. 是否删除本书签?", 2, 2,"删除书签");    if( response== 4 && index< data.length ) {     data.splice( index, 1 );     SaveData( data );    }   }}}function DropBookmark() {// 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= ( command );if( selection== null ) {   return; // exit}var index= 0;index= ( selection.substring( 0, selection.indexOf(':') ).toString() );if( index< data.length ) {   data.splice( index, 1 );   SaveData( data );}}function ClearBookmarks() {if( app.alert("确认要清除所有的书签吗?", 2, 2,"删除书签" )== 4 ) {   SaveData( new Array(0) );}}app.addMenuItem( {cName: "-",              // menu dividercParent: "View",         // append to the View menucExec: "void(0);" } );       app.addMenuItem( {cName: "设置本页为书签(&B)",cParent: "View",cExec: "AddBookmark();",cEnable: "event.rc= (event.target != null);" } );       app.addMenuItem( {cName: "转到指定书签(&T)",cParent: "View",cExec: "ShowBookmarks();",cEnable: "event.rc= (event.target != null);" } );    //cEnable: "event.rc= true;" } );       app.addMenuItem( {cName: "删除一个书签(&D)",cParent: "View",cExec: "DropBookmark();",cEnable: "event.rc= (event.target != null);" } );       app.addMenuItem( {cName: "清除所有书签(&C)",cParent: "View",cExec: "ClearBookmarks();",cEnable: "event.rc= true;" } );

然后将文件名字改为   bookmark_page.js 将这个文件复制到阅读器所在目录的Javascripts文件下,如F:\Adobe\Reader 9.0\Reader\Javascripts
第二步:打开一个PDF文件,选择“编辑”-》“首选项”-》JAVASCRIPT
将前三个都打上钩钩。确定
ok!搞定了!然后打开pdf文档就能在视图选项里看到关于书签的设置了。

热点排行