Skip to main content
Participant
January 10, 2023
Question

create a list of bookmarks from different pdf files

  • January 10, 2023
  • 4 replies
  • 3194 views

Is there a way to create a list of bookmarks from different PDF files.

So that you could name your list and save it that way.

They don't even have to be bookmarks they could be links to some certain pages on specific PDF files... I couldn't find a way to do it on Adobe Acrobat ...

 

This topic has been closed for replies.

4 replies

bebarth
Community Expert
Community Expert
January 11, 2023

Hi,

You can try the action wizard included in the attached file. Launch it with Acrobat, then you open the List of Bookmarks.pdf file and click on the List of Bookmarks action.

Then you add all files you want the bookmarks on the list:

and you click on "Start":

That's all! The List of Bookmarks.pdf file now contains the list into both a field and an attachment.

 

Here is the script of the action wizard:

 

if (this.documentFileName=="List of Bookmarks.pdf") {
	global.thePath=this.path;
} else {
	function listOfBookmarks(bkm,nLevel) {
		var symbols=[""," •"," –"," ¬"," -"];
		var s="";
		for (var i=0; i<nLevel; i++) s+=" ";
		try {
			var theSymbol=symbols[i];
		} catch(e) {
			var theSymbol=symbols[symbols.length-1];
		}
		if (bkm.name!="Root") theText+="\r"+s+theSymbol+" "+bkm.name;
		if (bkm.children!=null) for (var i=0; i<bkm.children.length; i++) listOfBookmarks(bkm.children[i],nLevel+1);
	}
	var theText="";
	for (var i=0; i<this.documentFileName.length; i++) theText+="#";
	theText+="\r# "+this.documentFileName+"\r";
	for (var i=0; i<this.documentFileName.length; i++) theText+="#";
	listOfBookmarks(this.bookmarkRoot, 0);
	console.clear();
	console.show();
	//console.println(theText);
	var otherDoc=app.openDoc(global.thePath);
	if (otherDoc.getField("theList").value.length) otherDoc.getField("theList").value+="\r\r";
	otherDoc.getField("theList").value+=theText;

	try {
		otherDoc.removeDataObject("List of Bookmarks.txt");
	} catch(e) {}
	otherDoc.createDataObject("List of Bookmarks.txt", "©™Σ","text/html; charset=utf-16"); //
	var oFile=util.streamFromString(otherDoc.getField("theList").value);
	otherDoc.setDataObjectContents("List of Bookmarks.txt", oFile);
	otherDoc.saveAs(global.thePath);
	otherDoc.closeDoc();
}

 

@+

try67
Community Expert
Community Expert
January 10, 2023

Yes, it's possible, but doing it in Acrobat is tricky. An external tool is required to create such a list.

 

If you're interested in hiring a professional to create it for you, feel free to contact me privately by clicking my user-name and then on "Send a Message".

Thom Parker
Community Expert
Community Expert
January 10, 2023

This could easily be done with a plug-in 

 

 

Thom Parker - Software Developer at PDFScriptingUse the Acrobat JavaScript Reference early and often
Thom Parker
Community Expert
Community Expert
January 10, 2023

For just a simple bookmark report, there is a free tool here:

https://www.pdfscripting.com/public/Free_Acrobat_Automation_Tools.cfm

 

Thom Parker - Software Developer at PDFScriptingUse the Acrobat JavaScript Reference early and often
Eric Dumas
Community Expert
Community Expert
January 10, 2023

That will not really work. The links will not be able to find their destinations outside of the file they are in.

Alternatively, you can combine the PDFs into a single one.

You can create a page with 'hyperlinks' that point to a file, but not to the structure inside that PDF.

Amal.
Community Manager
Community Manager
January 10, 2023

Hi @urazyjazzy 

 

Hope you are doing well and sorry to hear that.

 

PDF page content can be exported. However, Bookmarks are not PDF page content and are not exported. A PDF's Bookmarks can be exported via JavaScript.

 

For more information, please go through the similar discussion https://answers.acrobatusers.com/How-I-print-download-bookmark-listing-document-q72034.aspx

 

Hope it will help

 

Regards

Amal