The JavaScript error occurs in the Adobe Reader when a document link is clicked in a PDF file (Disk Archive)

When a doclink is clicked in a PDF file, the following JavaScript error message appears:

ReferenceError: openLinkPriv is not defined

The error is caused due to a missing swpdfc.js file which is normally installed in the Adobe Reader installation folder automatically.

To resolve the issue, create the swpdfc.js file (see the code below) and copy it manually to the Adobe Reader installation folder. The default path to the folder is normally "C:\Program Files (x86)\Adobe\Reader 11.0\Reader\Javascripts", however the actual path on your system may be different.

var openLinkPriv = app.trustedFunction( function(dbId, docUnid) {
	try {
		var depth = 50;
		try {
			depth = this.path.split("/").length;
		catch(e) {
		var dirUp = "../";
		var xmlRoot = "";
		var xmlFile = "doclinks.xml";
		var xmlStream = null;
		var count = 0;
		do {
			try {
				xmlStream = util.readFileIntoStream(xmlFile);
			} catch(e) {
				xmlStream = null;
			if(xmlStream == null) {
				xmlRoot = dirUp.concat(xmlRoot);
				xmlFile = dirUp.concat(xmlFile);
		} while(xmlStream == null && count < depth);
		if (xmlStream == null) {
			app.alert("XML not found");
		var xml = XMLData.parse(util.stringFromStream(xmlStream), false);
		var xPath = "string(//data/element[@id = '";
		xPath = xPath.concat(dbId);
		xPath = xPath.concat("-");
		xPath = xPath.concat(docUnid);
		xPath = xPath.concat("']/location)");
		var location = XMLData.applyXPath(xml, xPath);
		location = xmlRoot.concat(location);
	} catch(e) {
		app.alert("Linked document could not be found: " + location);

To find the Adobe installation folder on your machine easily, right-click on the Adobe icon that you use to start the program and open click Properties.

The Properties popup then appears as shown in the below example, and you can click Open File Location to open the installation folder:

Once you are in the folder, locate the Javascripts folder and save the swpdfc.js file in it.

Last updated