我已經創建了Acrobat Reader的Java腳本,它允許保存當前打開的選項卡,它添加菜單項:「保存選項卡」,「加載選項卡」,「切換自動加載」。它可以保存製表符和頁碼,並很好地恢復。特別是對於那些沒有太多PDF閱讀器的Linux來說,這非常有用。但我無法以我想要的方式完成它。我沒有找到如何捕捉打開/關閉文檔事件,或某些計時器事件來自動存儲當前選項卡列表。Adobe Acrobat Reader選項卡保存和自動加載
這是腳本,把它放在$ HOME/.adobe/Acrobat/9.0/JavaScripts中,它會自動加載。當需要保存當前狀態時,選擇菜單「查看 - >保存標籤」,以恢復最近保存的標籤,選擇「查看 - >加載標籤」。
以下是adobe reader的原始API參考。 http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/js_api_reference.pdf。
/*
save tabs is a java script for Acrobat Reader
on Linux put it usually in ~/.adobe/Acrobat/9.0/JavaScripts
*/
var delim = '|';
var parentMenu = "View";
/*
Loading Saved Tabs
*/
function LoadTabs() {
if (global.tabs_opened == null) {
return;
}
var flat = global.tabs_opened.split(delim);
for (i = 0; i < flat.length; i += 2) {
try {
app.openDoc(flat[i]);
app.execMenuItem("FirstPage");
for (ii = 0; ii < flat[i + 1]; ++ii) {
app.execMenuItem("NextPage");
}
} catch (ee) {
app.alert("Error while opening the requested document.\n" + flat[i], 3);
}
}
}
/*
Function with trusted section returning opened documents
*/
trustedActiveDocs = app.trustedFunction(function() {
app.beginPriv();
var d = app.activeDocs;
app.endPriv();
return d;
})
/*
Saving Tabs that are opened
*/
function SaveTabs() {
var d = trustedActiveDocs();
var tabs = '';
for (var i = 0; i < d.length; i++) {
if (i > 0)
tabs += delim;
// app.alert(d[i].path+"------"+d[i].pageNum,3);
tabs += d[i].path;
tabs += delim;
tabs += d[i].pageNum;
}
global.tabs_opened = tabs;
global.setPersistent("tabs_opened", true);
app.alert("Tabs Saved", 3);
}
/*
Toggle auto load tabs
automatically loading tabs when reader starts
*/
function ToggleAuto() {
if (global.tabs_auto == 0 || global.tabs_auto == null) {
global.tabs_auto = 1;
global.setPersistent("tabs_auto", true);
app.alert("Tabs auto loading enabled", 3);
} else {
global.tabs_auto = 0;
global.setPersistent("tabs_auto", true);
app.alert("Tabs auto loading disabled", 3);
}
}
app.addMenuItem({
cName: "-",
cParent: parentMenu,
cExec: "void(0);"
});
app.addMenuItem({
cName: "&Save Tabs",
cParent: parentMenu,
cExec: "SaveTabs();"
});
app.addMenuItem({
cName: "&Load Tabs",
cParent: parentMenu,
cExec: "LoadTabs();"
});
app.addMenuItem({
cName: "Toggle auto load",
cParent: parentMenu,
cExec: "ToggleAuto();"
});
if (global.tabs_auto == 1) {
LoadTabs();
}
只是想說謝謝,這是超級有用的! [本頁](http://www.pdfscripting.com/public/Installing_Automation_Tools.cfm)幫我安裝了它。 –
這真的很有用! –