批量添加书签.docxVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
批量添加书签.docx

在Acrobat中利用Javascript根据目录一键生成带页码的书签2011-08-19 11:19:49 网络上很多扫描版的PDF电子书都缺少书签。特别是对计算机教程类的大部头来说,由于需要经常翻阅,没有书签的痛苦可想而知。制作书签的办法主要有:Ctrl+B来一个个地创建;在Word2007里面生成书签,然后和内容主体合并;利用JavaScript生成;今天我来讲讲怎样利用JavaScript在Acrobat一键生成书签。基本思路:大多数的扫描版PDF电子图书都可以在官网或者各大网上书店找到目录,很多都是带有页码的(图1)。 将目录用文本文件保存起来,作为附件添加到PDF中,利用JavaScript读取附件,生成数组,用循环处理字符串,再生成书签。图1?下面是具体步骤:1.把目录复制粘贴到一个文本文件中,确保所有的分隔符是半角的空格(正则表达式为\s),并保存为UTF-8的编码。(图2,图3)图2图32.在Acrobat把目录.txt添加到附件里(图4)并保存PDF文件。图43.下载文末的附件把Bookmark.js文件解压出来复制到Acrobat安装目录下的JavaScript文件夹里面,默认是Adobe\Acrobat 9.0\Acrobat\JavascriptsBookmark.js文件内容:app.addMenuItem({ cName: 从附件添加书签, cParent: Tools,cExec: bookm();,cEnable: event.rc= (event.target != null); });varName_Bookmark;varPage_Bookmark;functionbookm(){varStartNum = app.response({ cQuestion: 输入页码为1的实际页数, cTitle: 若缺少1页码,则输入2页码的实际页数,依此类推, cDefault: 1, cLabel: 输入: });if (StartNum!=null) {varmyThis=event.target;varattName=myThis.dataObjects[0].name;varoFile = myThis.getDataObjectContents(attName);vararrFile = util.stringFromStream(oFile, utf-8);vartArr=arrFile.split(\n);myThis.bookmarkRoot.remove();myThis.bookmarkRoot.createChild(目录);varfSpc;varlSpc;vartCht;varoDot;varNum_Dot;varMenuBookmark=myThis.bookmarkRoot.children[0];//目录varChaptersBookmark;varSectionsBookmark;varSubSectionsBkm;var SubSectionsBkm1;var i;var a;var b;//首空格后的字符for (i=0;itArr.length;i++) { a=tArr[i]; if (a.length2)//空行的length=1,设置为2即不添加空行 {fSpc=a.search(/\s/);// 首空格位置tCht=a.slice(0,fSpc);//首空格前的字符oDot=tCht.match(/\./g);//匹配.符号Num_Dot=(oDot==null? 0:oDot.length);lSpc=a.lastIndexOf(a.charAt(fSpc));//末空格的位置 b=Number(a.slice(lSpc));Page_Bookmark=(isNaN(b)? 0:b-2+Number(StartNum));//书签指向的页码Name_Bookmark=(isNaN(b)? a:a.slice(0,lSpc));//书签的名字switch (Num_Dot) {case 0:ChaptersBookmark=CreateSubBkm(MenuBookmark);break;case 1:SectionsBookmark=CreateSubBkm(ChaptersBookmark);break;case 2:SubSectionsBkm=CreateSubBkm(SectionsBookmark);break;case 3: SubSectionsBkm1=CreateSubBkm(SubSectionsBkm);b

您可能关注的文档

文档评论(0)

zhoujiahao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档