我在adobe illustrator CS3中准备了多个.ai文件。我想一次性将所有这些.ai文件转换为.svg文件,但保留我最初在.ai文件中的分层?
我可以轻松地在Adobe Illustrator中打开我的.ai文件,并将它们从Adobe Illustrator中单独导出为.svg格式。但这将需要相当长的时间来处理超过100个.ai文件。
我不想从.svg读取软件中手动打开每个.ai文件,然后手动选择和移动元素到新的层。对我所有的.ai文件执行此操作将需要很长一段时间。我的许多.ai文件有相当多的层。
我很确定在StackFolder上没有这样的问题。大多数问题似乎与从svg到ai文件的方向相反。但是,如果我忽略了什么,请将我重定向到另一个帖子。
事先感谢你的帮助
发布于 2015-10-20 07:24:33
您可以编写一个脚本来打开每个.ai文件并导出为svg。Scripting Guide
这将是一个非常简单的脚本,如果你需要做的就是打开和导出,并且你所有的.ai文件都在同一个文件夹中。
发布于 2022-02-05 22:56:23
我知道在六年多之后回答这个问题没有多大意义...但不管怎样。以下是在选定文件夹及其子文件夹中查找所有AI文件并将其导出到SVG中的脚本:
main();
function main() {
var folder = Folder.selectDialog('Select folder');
if (!(folder instanceof Folder)) return;
var files = get_ai_files(folder, []);
if (files.length == 0) {
alert('The folder contains no AI files')
return;
}
for (var i = 0; i < files.length; i++) {
var doc = app.open(files[i]);
var file = File(doc.fullName.fsName.replace(/\.ai$/i, '.svg'))
doc.exportFile(file, ExportType.SVG);
doc.close(SaveOptions.DONOTSAVECHANGES);
}
alert('Number of saved SVG files: ' + files.length);
}
function get_ai_files(folder, files_array) {
var files = folder.getFiles('*');
if (files.length == 0) return files_array;
for (var i = 0; i < files.length; i++) {
var file = files[i];
if (/.+\.ai$/i.test(file.name)) files_array.push(file);
if (file instanceof Folder) files_array.concat(get_ai_files(file, files_array));
}
return files_array;
}
https://stackoverflow.com/questions/33015658
复制相似问题