在 Extendscript (Photoshop Script) 中打开 pdf 帮助文件
Open pdf help file in Extendscript (Photoshop Script)
我在 Photoshop Extendscript 中创建了一个小脚本,现在希望添加从脚本中打开 pdf 帮助文件的功能。
我已经创建了 pdf 格式的帮助文件,它位于名为 'assets' 的文件夹中,该文件夹位于脚本自己的父文件夹中。
我试图让 pdf 文件显示但没有成功,我只是不断收到错误消息 'was not found'
这是我的代码片段:
BTNg.HelpBtn.onClick = function(){
var STShelp = (new File($.fileName)).parent + '/assets/Help.pdf';
alert(STShelp);
if (STShelp.exists){
try{STShelp.execute();}
catch(e){alert('Help ' + STShelp + ' failed to open.');};
}
else {alert('Help file ' + STShelp + ' was not found.');}
}
第一个警报纯粹是为了让我检查变量 STShelp 中保存的路径。
此警报中显示的路径是:
/c/Program%20Files/Adobe/Adobe%20Photoshop%20CS6%20(64%20Bit)/Presets/Scripts/Star%20Trail%20Stacker/assets/Help.pdf
这是正确的路径,如:
C:\Program Files\Adobe\Adobe Photoshop CS6 (64 Bit)\Presets\Scripts\Star Trail Stacker\assets\Help.pdf
但随后抛出此错误:
Help file /c/Program%20Files/Adobe/Adobe%20Photoshop%20CS6%20(64%20Bit)/Presets/Scripts/Star%20Trail%20Stacker/assets/Help.pdf was not found.
我知道保存在 STShelp 变量中的路径看起来有点奇怪,因为它是正斜杠和前导正斜杠,但我确信这就是 Extendscript 解释路径的方式。
我已经通过更改行进行了某种操作:
var STShelp = (new File($.fileName)).parent + '/assets/Help.pdf';
至
var STShelp = (new File($.fileName)).parent;
然后警报将路径显示为:
/c/Program%20Files/Adobe/Adobe%20Photoshop%20CS6%20(64%20Bit)/Presets/Scripts/Star%20Trail%20Stacker
这是脚本的父文件夹,当我单击此警报对话框上的“确定”按钮时,文件夹资源管理器 window 将在此父位置打开,期望通过以下方式手动搜索 Help.pdf 文件打开包含的 'assets' 文件夹。
如果我这样做,Help.pdf 确实会显示,所以 pdf 文件本身没有任何问题,我似乎无法以编程方式访问它。
如有任何帮助,我们将不胜感激。
问候..,
你应该这样得到你的文件:
var path = File($.fileName).parent.fsName + '/assets/Help.pdf';
var pdf = File(path);
if(pdf.exists){
pdf.execute();
}
我在 Photoshop Extendscript 中创建了一个小脚本,现在希望添加从脚本中打开 pdf 帮助文件的功能。
我已经创建了 pdf 格式的帮助文件,它位于名为 'assets' 的文件夹中,该文件夹位于脚本自己的父文件夹中。
我试图让 pdf 文件显示但没有成功,我只是不断收到错误消息 'was not found'
这是我的代码片段:
BTNg.HelpBtn.onClick = function(){
var STShelp = (new File($.fileName)).parent + '/assets/Help.pdf';
alert(STShelp);
if (STShelp.exists){
try{STShelp.execute();}
catch(e){alert('Help ' + STShelp + ' failed to open.');};
}
else {alert('Help file ' + STShelp + ' was not found.');}
}
第一个警报纯粹是为了让我检查变量 STShelp 中保存的路径。 此警报中显示的路径是:
/c/Program%20Files/Adobe/Adobe%20Photoshop%20CS6%20(64%20Bit)/Presets/Scripts/Star%20Trail%20Stacker/assets/Help.pdf
这是正确的路径,如:
C:\Program Files\Adobe\Adobe Photoshop CS6 (64 Bit)\Presets\Scripts\Star Trail Stacker\assets\Help.pdf
但随后抛出此错误:
Help file /c/Program%20Files/Adobe/Adobe%20Photoshop%20CS6%20(64%20Bit)/Presets/Scripts/Star%20Trail%20Stacker/assets/Help.pdf was not found.
我知道保存在 STShelp 变量中的路径看起来有点奇怪,因为它是正斜杠和前导正斜杠,但我确信这就是 Extendscript 解释路径的方式。
我已经通过更改行进行了某种操作:
var STShelp = (new File($.fileName)).parent + '/assets/Help.pdf';
至
var STShelp = (new File($.fileName)).parent;
然后警报将路径显示为:
/c/Program%20Files/Adobe/Adobe%20Photoshop%20CS6%20(64%20Bit)/Presets/Scripts/Star%20Trail%20Stacker
这是脚本的父文件夹,当我单击此警报对话框上的“确定”按钮时,文件夹资源管理器 window 将在此父位置打开,期望通过以下方式手动搜索 Help.pdf 文件打开包含的 'assets' 文件夹。
如果我这样做,Help.pdf 确实会显示,所以 pdf 文件本身没有任何问题,我似乎无法以编程方式访问它。
如有任何帮助,我们将不胜感激。
问候..,
你应该这样得到你的文件:
var path = File($.fileName).parent.fsName + '/assets/Help.pdf';
var pdf = File(path);
if(pdf.exists){
pdf.execute();
}