Acrobat Reader无法识别相对路径

时间:2018-01-22 13:40:50

标签: javascript excel vba relative-path acrobat

我将Excel工作表导出到制表符分隔文件(.txt),现在尝试通过Acrobat Reader Pro DC将其批量导入PDF格式。 这与导入所述.txt的动作完美配合,因为路径是绝对的。因为我想发送文件并让其他人也在运行,我需要让路径相对。我目前的做法是改变

var fileName = "/C/Users/somefancyname/Desktop/export.txt";
this.importTextData(fileName, somerowcounter)

var fileName = "export.txt";
this.importTextData(fileName, somerowcounter)

这很遗憾地引发了“无法打开文件”错误。我运行此脚本的文件与文本文件位于同一级别。我唯一的猜测是,路径是相对于acrobat应用程序,而不是文档,但我不能再帮忙了,因为这是我第一次使用Acrobat JS的方法。

感谢您的任何建议!

2 个答案:

答案 0 :(得分:1)

cPath的可选importTextData参数似乎是:

"A relative device-independent path to the text file."这实际上似乎正是你所需要的。然而,在示例中,它们给出了绝对路径。

您能考虑让用户以某种方式提供路径并进一步使用吗?

答案 1 :(得分:1)

我找到了一种创建伪相对路径的hacky方法。经过测试,有效!

您只需使用文档文件名的长度,并从文档路径中减去它。这将奖励您使用文档的基本路径。

var filenameLength = this.documentFileName.length * -1;
var basePath = this.path.slice(0, filenameLength);

然后继续使用此基本路径在此处创建文件的absoulte路径,就好像这些是相对路径一样。

var fileName = basePath + "export.txt";
var outputFodler = basePath + "/OutputFolder/";
...