Printing Bookmarks

Is it possible to print a list only of the bookmarks in Adobe Acrobat 9 Standard version?
pruskiAsked:
Who is Participating?
 
Karl Heinz KremerConnect With a Mentor Commented:
You can do this with Javascript - however, Standard does not come with the JS development environment, so you have to write the code without having a way to debug. Even though Standard does not come with the JS development tools, it still can run JS commands.
Have you ever done anything with Javascript in Acrobat?


0
 
pruskiAuthor Commented:
Thanks for the response.  I have never done anything with Java in Acrobat.  Any pointers will be greatly appreciated!
0
 
Karl Heinz KremerConnect With a Mentor Commented:
I'm leaving for the weekend, I will be back on Tuesday with a sample JavaScript.
0
 
Karl Heinz KremerConnect With a Mentor Commented:
Sorry for the delay.

Save the attached Javascript program as a text file in the Acrobat Javascript directory (I'm assuming that you are using Windows) C:\Program Files\Adobe\Acrobat 9.0\Acrobat\Javascripts (if you are not using A9, adjust the path). Use a descriptive file name with the extension .js (e.g. dumpBookmarks.js). Then restart Acrobat. You should now have a new menu item under the Documents menu. If it does not show up, you may have to go into Acrobat's preferences and enable the "Enable menu item JavasScript execution privileges" in the JavaScript category.
function DumpBookmark(rep, bkm, nLevel)
 {
    if (DBM_line >= 50)
    {
        rep.breakPage();
        DBM_line = 0;
    }

    rep.indent(20*nLevel);
    rep.writeText("+-" + bkm.name);
    rep.outdent(20*nLevel);

    DBM_line++;

    if (bkm.children != null)
    for (var i = 0; i < bkm.children.length; i++)
    DumpBookmark(rep, bkm.children[i], nLevel + 1);
}

function doDumpBookmarks()
 {
    // Open a new report
    var rep = new Report();

    rep.size = 1.2;
    rep.color = color.blue;

    rep.writeText("Summary of Bookmarks:");

	rep.size = 1.0;
	rep.color = color.black;
	
    DumpBookmark(rep, this.bookmarkRoot, 0);

    // Now open the report
    var docRep = rep.open("myreport.pdf");
    docRep.info.Title = "Bookmarks Summary";

    DBM_line = 0;
}

var DBM_line = 0;

// add the menu item
app.addMenuItem({
	cName: "dumpBookmarksToReport",     // this is the internal name used for this menu item
	cUser: "Dump Bookmarks",       // this is the label that is used to display the menu item
	cParent: "Document",              // this is the parent menu. The file menu would use "File"
	cExec: "doDumpBookmarks()",  // this is the JavaScript code to execute when this menu item is selected
	cEnable: "event.rc = (event.target != null);",       // when should this menu item be active?
	nPos: 0
});

Open in new window

0
 
pruskiAuthor Commented:
Thanks very much.  I will give the script a try.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.