用Acrobat pro DC 自动生成pdf目录——知网硕博论文为例(附带如何下载只有caj的pdf)

这些日子写大论文,从知网down下来的硕博论文参考下思路和框架,遇到俩问题:

一、硕博论文库一般只有caj格式的,很不方便做笔记和阅读,这里找到一种办法:“海外知网”——海外知网它不香么,或者进入国内知网官网后,在浏览器左上角转为English也可。再检索硕博论文下载,就自动pdf格式啦!

二、下载完成的硕博论文用pdf阅读器(用Acrobat pro DC为例,注意版本必须9.3以上)打开左侧没有目录标签(可以点击任意跳转的那种),这里摸索了半天给出一种解决办法:

1. 首先,你的pdf文件要有目录(在正文一般是有的,没有的话,你可能要手动生成一下),目前没有目录文字内容的情况下自动生成左侧标签的方法还没找到...

2. 将pdf的目录复制粘贴到一个txt文件中,保存为menu.txt,注意编码为UTF-8(这里目录格式最好是有编号的那种,如果没有的话需要以递增空格缩进来表示标题等级,有编号则不需要缩进)

3. 将menu.txt添加到pdf文件的附件中,并保存pdf文件 

4.将以下代码保存为Bookmark.txt,并改文件格式为"Bookmark.js"到Adobe安装目录的Javascripts目录下,我的为 "D:\Program Files\Adobe\Acrobat DC\Acrobat\Javascripts"

app.addMenuItem({
cName: "Add bookmarks from attach", cParent: "Edit",
cExec: "bookm();",
cEnable: "event.rc= (event.target != null);" });
var Name_Bookmark;
var Page_Bookmark;
function bookm()
{
var StartNum = app.response({
cQuestion: "Please enter the real page number of Page 1!",
cTitle: "Enter the real page number of the first page",
cDefault: "1",
cLabel: "Enter:"
});
if (StartNum!=null)
{
var myThis=event.target;
var attName=myThis.dataObjects[0].name;
var oFile = myThis.getDataObjectContents(attName);
var arrFile = util.stringFromStream(oFile, "utf-8");
var tArr=arrFile.split("\n");
myThis.bookmarkRoot.remove();
myThis.bookmarkRoot.createChild("Contents");
var fSpc;
var lSpc;
var tCht;
var oDot;
var Num_Dot;
var MenuBookmark=myThis.bookmarkRoot.children[0];//目录
var ChaptersBookmark;
var SectionsBookmark;
var SubSectionsBkm;
var SubSectionsBkm1;
var i;
var a;
var b;//首空格后的字符
for (i=0;i<tArr.length;i++)
{
a=tArr[i];
if (a.length>2)//空行的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);
break;
default:
break;
}
}
}
}
}
function CreateSubBkm(RootBkm)//在RootBkm书签底下创建一个新书签,并返回新书签对象
{
var RootBkm;
var subBookmark;
RootBkm.createChild(Name_Bookmark, "this.pageNum="+Page_Bookmark+";");
RootBkm.insertChild(RootBkm.children[0],RootBkm.children.length);
subBookmark=RootBkm.children[RootBkm.children.length-1];//目录中最后一个章节
return subBookmark;
}

5.重新用adobe打开刚才添加了menu.txt的文件,在首选项中设置勾选avascript的以下三项。

6.之后在首选项>下边会发现一个add bookmarks from attach,点击后会跳出让你选择真正的第一页的页码(一般的文件第一页都不是目录对应的正文第一页吧...),这里我改为了9

7.稍等片刻,即可在左侧边栏看到可跳转的目录标签啦,对于篇幅极长的pdf格式的硕博论文或者电子书之类的简直不要太方便!

PS:附上之前在网上搜的一个文件教程可以下载Acrobat pro DC自动生成pdf目录,提取码:6t54

 

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值