如何在Illustrator脚本中使用「Export As」选项导出SVG
实现Illustrator脚本「导出为SVG」的正确方式
要匹配Illustrator中「文件>导出>导出为>SVG」的导出效果,核心是替换对应的导出类型和选项对象——「另存为SVG」对应ExportType.SVG和ExportOptionsSVG,而「导出为SVG」对应ExportType.SVG_EXPORT和ExportOptionsSVGExport,后者包含更多压缩优化参数,这也是两者文件大小差异的关键。
以下是实现代码及关键参数说明:
// 创建「导出为SVG」的专属选项对象 var exportOptions = new ExportOptionsSVGExport(); // 核心优化参数(匹配导出为的默认压缩逻辑) exportOptions.compressionMethod = SVGCompressionMethod.SVGZ_DEFLATE; // 使用DEFLATE压缩 exportOptions.minifySVG = true; // 移除冗余代码、空格,减小体积 exportOptions.enableResponsive = true; // 支持响应式(可选,根据需求调整) exportOptions.embedImages = true; // 嵌入 raster 图像(对应原设置) exportOptions.cssProperties = SVGExportCSSPropertyLocation.INLINE_STYLE; // 内联样式,和原设置对齐 // 执行导出,注意导出类型为SVG_EXPORT var outputFile = File("~/Desktop/exported_svg.svg"); // 替换为你的输出路径 app.activeDocument.exportFile(outputFile, ExportType.SVG_EXPORT, exportOptions);
关键参数说明
ExportType.SVG_EXPORT:明确指定使用「导出为」流程,而非「另存为」流程SVGCompressionMethod.SVGZ_DEFLATE:启用DEFLATE压缩,这是「导出为」默认的压缩方式,能大幅减小文件体积minifySVG: true:自动移除SVG中的注释、多余空格、重复属性等冗余内容,进一步压缩文件cssProperties:选择样式的存储位置,INLINE_STYLE对应「导出为」中的「内联样式」选项,和你原代码的STYLEATTRIBUTES效果一致
如果不需要SVGZ压缩(想导出普通SVG文件),可以将compressionMethod改为SVGCompressionMethod.NONE,但保留minifySVG: true仍能获得明显的体积优化。
内容的提问来源于stack exchange,提问作者Zawyed Zeon
相关产品推荐
相关产品推荐

