Because AI assistants invent non-existent methods. If you don't know where to look, it's impossible to debug scripts. There is no way in Adobe's documentation to set Bleed for Document Setup in ExtendScript.
//@target illustrator
(function (){
// Open CSV
var csvFile = File.openDialog("Select your CSV file", "*.csv");
if (!csvFile) {
alert("No CSV selected. Exiting.");
exit();
}
var lines = readCSV(csvFile);
// Ask for output folder
var outFolder = Folder.selectDialog("Choose folder to save AI files");
if (!outFolder) {
alert("No output folder. Exiting.");
exit();
}
// Constants
var CM_TO_POINTS = 72 / 2.54; // 28.3464567
// Process each line after header
for (var i = 1; i < lines.length; i++) {
var row = trim(lines[i]);
if (!row) continue; // skip empty lines
var cols = row.split(",");
var docName = cols[0].replace(/\"/g, '');
var wCm = parseFloat(cols[1].replace(/\"/g, ''));
var hCm = parseFloat(cols[2].replace(/\"/g, ''));
// Create new CMYK document in cm
var docPreset = new DocumentPreset;
docPreset.width = wCm * CM_TO_POINTS;
docPreset.height = hCm * CM_TO_POINTS;
docPreset.colorMode = DocumentColorSpace.CMYK
docPreset.title = docName;
docPreset.units = RulerUnits.Centimeters;
docPreset.name = docName;
var doc = app.documents.addDocument(DocumentColorSpace.CMYK, docPreset);
// Save as .ai
var saveOpts = new IllustratorSaveOptions();
saveOpts.pdfCompatible = true;
var saveFile = new File(outFolder.fsName + "/" + docName + ".ai");
doc.saveAs(saveFile, saveOpts);
// Close without prompting
doc.close(SaveOptions.DONOTSAVECHANGES);
}
// Notify when done
alert("Created " + (lines.length - 1) + " files in " + outFolder.fsName);
function readCSV(f) {
f.encoding = 'UTF-8';
f.open('r');
var s = f.read();
f.close();
return s.split(/\r\n|\n/);
}
function trim(str) {
return str.replace(/^\s+|\s+$/g, '');
}
})();