Adobe Acrobat Reader选项卡保存和自动加载

我已经为Acrobat Reader创build了Java脚本,它允许保存当前打开的标签,它添加菜单项:“保存标签”,“加载标签”,“切换自动加载”。 它可以保存制表符和页码,并很好地恢复。 特别是对于那些没有太多pdf阅读器的Linux来说,这真的很有帮助。 但是我不能以我想要的方式来完成它。 我没有find一个方法如何捕捉打开/closures文档事件,或一些计时器事件来自动存储当前的选项卡列表。

这是脚本,把它放在$ HOME / .adobe / Acrobat / 9.0 / JavaScripts中,然后自动加载。 当需要保存当前状态时,select菜单“查看 – >保存制表符”,最近保存的制表符select“查看 – >加载制表符”。

这里是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(); } 

我用你的脚本作为创建和加载不同会话的系统的基础,而不总是相同的。 这是在我的GitHub: https : //github.com/JoseCM/PDFSessions 。 希望没有问题…