Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ExtendScript Illustrator放置的项目名称_Javascript_Object_Adobe_Adobe Illustrator_Extendscript - Fatal编程技术网

Javascript ExtendScript Illustrator放置的项目名称

Javascript ExtendScript Illustrator放置的项目名称,javascript,object,adobe,adobe-illustrator,extendscript,Javascript,Object,Adobe,Adobe Illustrator,Extendscript,我正试图获得Illustrator中放置的项目的名称 这是一个硬编码放置的项目,以防我在我的艺术板上选择了一个 通常我会得到文件名,如下所示: myItem.file.name 但是我想获取链接(filepath)断开的放置项的名称 即使链接断开,illustrator仍可以读取其名称,如您在placed items窗口中看到的: 那么我如何访问该名称呢?供您参考XMPString将帮助您, 此jsx代码段将查找断开链接的所有文件路径,而不是选定项 #目标“Illustrator” var

我正试图获得Illustrator中放置的项目的名称

这是一个硬编码放置的项目,以防我在我的艺术板上选择了一个

通常我会得到文件名,如下所示:

myItem.file.name
但是我想获取链接(filepath)断开的放置项的名称

即使链接断开,illustrator仍可以读取其名称,如您在placed items窗口中看到的:


那么我如何访问该名称呢?

供您参考XMPString将帮助您, 此jsx代码段将查找断开链接的所有文件路径,而不是选定项

#目标“Illustrator”
var doc=app.activeDocument;
$.writeln(文件名);
var x=新的XML(doc.XMPString);
var m=x.xpath('//stRef:filePath');
如果(m!=''){
对于(变量i=0,len=m.length();i}
我看不出有什么办法,我想这不是AI对象模型的一部分,我可能错了,我不太擅长AI脚本。如果你对正则表达式很在行,你可以尝试这样做:在你的脚本中,首先保存一个复制ai文件,然后删除你的选择,保存另一个ai文件,然后将它们作为文件对象打开,并查找列出链接文件的信息(搜索文件中的“文件路径”),隔离所有链接文件字符串,将它们放入数组中,比较这两个数组,看看第二个数组缺少哪个元素。然后恢复到文件的早期阶段。虽然非常有黑客味…哇,这非常接近我想要的。尽管我不熟悉XMPString和xpath()方法,但它以xml格式返回断开的链接:)现在我如何从xml中获取文件名。。是否可以将doc.XMPTring存储在数组中而不是XML中?您使用的是什么版本?如果是CC或更高版本,请将xpath表达式更改为
x.xpath('//xmpMM:Manifest//stRef:filePath')
。然后再跑。是否需要文件名而不是文件路径?使用
文件(link\u path).name
,您可以简单地推送任何数组..是的,我使用CC,但我通过将数组循环一半长度解决了这个问题。这很好,因为每个断开的链接似乎都要实现两次。我在实际路径上使用.split()函数并选择分割路径字符串的最后一部分来检索文件名。非常感谢。可能比它需要的更复杂,但我懒得保持这种方式。永远不要改变一个运行的系统:做更多的问题。这是返回所有链接的文件还是只返回损坏的文件?
myItem.file.name