Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adobe Acrobat Reader Tabs Saving And Autoloading

Tags:

I've created Javascript for Acrobat Reader which allows you to save the currently open tabs. It adds the menu items: "Save tabs", "Load tabs", and "Toggle auto load". It saves tabs and page numbers, and restores them as well.

It's especially helpful for Linux, where there aren't many pdf readers available. However, I haven't been able to figure out how to catch open or close document events, or to set some timer event to automatically store current list of tabs.

Here is the original API reference for Adobe Acrobat.

/*    Here is the script, put it in $HOME/.adobe/Acrobat/9.0/JavaScripts (or in     the equivalent program files folder under Windows,) and it will automatically    be loaded.      When you need to save current state, choose menu "view -> Save Tabs", to restore     recently saved tabs choose "view -> Load Tabs".  */  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(); } 
like image 757
Andrey Kartashov Avatar asked Oct 02 '12 11:10

Andrey Kartashov


People also ask

How do I save tabs in Adobe Acrobat?

I've created Javascript for Acrobat Reader which allows you to save the currently open tabs. It adds the menu items: "Save tabs", "Load tabs", and "Toggle auto load". It saves tabs and page numbers, and restores them as well. It's especially helpful for Linux, where there aren't many pdf readers available.

Can you save multiple PDF tabs at once?

(1) Holding the Ctrl key, you can select multiple nonadjacent worksheets in the Sheet Tab bar by selecting them one by one. (2) Holding the Shift key, you can select multiple adjacent worksheets in the Sheet Tab bar by selecting the first one and the last one. 2. Click the File (or Office button) > Save As.

How do I stop Adobe from opening files in new tabs?

1 Correct answer. Go to Edit (or the Reader menu if you're on a Mac) - Preferences - General and uncheck "Open documents as new tabs in the same window". Go to Edit (or the Reader menu if you're on a Mac) - Preferences - General and uncheck "Open documents as new tabs in the same window". PS.


1 Answers

Thanks for the fantastic start to implementing this glaring feature omission from a mature product. An Autohotkey script will accomplish what you're looking for. I've created one below that will automatically save the tab layout when you close Acrobat.

This script works with the latest version of Acrobat Pro DC. In this version, the script menu options appear at the bottom of the "view" menu. If your version differs, you'll have to modify this script; please report in the comments if your Acrobat version puts the custom Javascript menu options elsewhere.

if WinActive("ahk_class #32770") & WinActive("Adobe Acrobat", "Do you want to close all tabs or the current tab") {     Send, !c     WinWaitActive, ahk_class AcrobatSDIWindow     Send, !v{Up 3}{Enter}     WinWaitActive, Warning: JavaScript, Tabs Saved     Send, {Space}     WinMenuSelectItem, ahk_class AcrobatSDIWindow, , View, Save Tabs     Send, ^q } 
like image 96
Jeff Axelrod Avatar answered Sep 28 '22 13:09

Jeff Axelrod