Copy link to clipboard
Copied
Versión de Adobe Illustrator: Adobe Illustrator Versión 29.5.1
Sistema Operativo: Windows 11 Pro versión: 24H2
Descripción Detallada del Problema: Al intentar acceder al objeto app.flattenerPresets mediante scripting (ExtendScript/JavaScript) en Illustrator 29.5.1, el objeto es consistentemente devuelto como null o undefined. Este comportamiento impide cualquier interacción programática con los presets de acoplamiento de transparencia del documento. Esto incluye, pero no se limita a, listar los presets existentes, obtener un preset específico por su nombre (usando getByName()) o aplicar un preset durante las operaciones de guardado de archivos (por ejemplo, al guardar en formato EPS o PDF cuando se requiere acoplamiento de transparencia).
Este problema se ha verificado en múltiples máquinas (tres en total) con la misma versión de Illustrator (29.5.1) y sistema operativo Windows. Las pruebas se realizaron incluso después de ejecutar procedimientos estándar de solución de problemas como el restablecimiento de las preferencias de Illustrator y la reinstalación completa de la aplicación, sin que se resolviera el inconveniente.
Pasos para Reproducir el Problema (PRP):
Abrir Adobe Illustrator 29.5.1 en un sistema operativo Windows.
Crear un nuevo documento o abrir cualquier archivo .ai existente.
Ejecutar el siguiente script de prueba mínima (por ejemplo, guardándolo como un archivo .jsx y ejecutándolo desde Archivo > Secuencias de comandos > Otra secuencia de comandos...):
// ScriptDePrueba_FlattenerPresets.jsx
#target illustrator
function probarAccesoFlattenerPresets() {
if (!app.documents.length) {
alert("Por favor, abra un documento antes de ejecutar este script.");
return;
}
var coleccionPresets = app.flattenerPresets; // Variable para inspeccionar
if (!coleccionPresets) {
alert("RESULTADO DEL BUG:\nError Crítico: app.flattenerPresets es nulo o indefinido.");
return;
}
// Código adicional que fallará si coleccionPresets es nulo/indefinido:
var numPresets = 0;
try {
numPresets = coleccionPresets.length;
} catch (e) {
alert("Excepción al intentar obtener coleccionPresets.length: " + e.message);
return;
}
if (numPresets > 0) {
var msg = "Total de presets de acoplamiento encontrados: " + numPresets + "\n";
try {
msg += "Nombre del primer preset (índice 0): " + coleccionPresets[0].name;
} catch (e) {
msg += "Excepción al intentar obtener coleccionPresets[0].name: " + e.message;
}
alert(msg);
} else {
alert("Información: app.flattenerPresets existe, pero su longitud es 0 (está vacío).");
}
}
probarAccesoFlattenerPresets();"4. Observar la alerta de error generada por el script."
Resultado Esperado: Se esperaba que el script pudiera acceder al objeto app.flattenerPresets como una colección válida. Como mínimo, se esperaba que app.flattenerPresets no fuera null o undefined, y que se pudiera consultar su propiedad length. En una instalación funcional, esta colección debería contener al menos los presets de acoplamiento predeterminados de Illustrator.
Resultado Actual (el Bug): El script de prueba muestra consistentemente una alerta con el mensaje: Error Crítico: app.flattenerPresets es nulo o indefinido. Esto indica que el objeto app.flattenerPresets no está siendo inicializado o expuesto correctamente a través de la API de scripting de ExtendScript.
Este bug tiene un impacto significativo en los flujos de trabajo automatizados que dependen de la manipulación de las opciones de acoplamiento de transparencia. Específicamente:
Información Adicional y Pasos de Solución de Problemas Realizados:
Agradezco de antemano la atención y la posible solución a este inconveniente que afecta la capacidad de automatización en Illustrator.
Observar la alerta de error generada por el script.
Posted an issue to UserVoice, so feel free to vote for it.
Copy link to clipboard
Copied
Tried and succeeded with this script.
var presets = app.flattenerPresetsList ;
alert(presets.join('\n')) ;
Copy link to clipboard
Copied
He confirmado que app.flattenerPresetsList devuelve la lista de nombres de los presets. Sin embargo, app.flattenerPresets sigue siendo undefined, lo que causa que app.flattenerPresets.getByName('nombreDelPreset') falle con el error 'undefined no es un objeto'. Esto impide la asignación de un flattenerPreset a EPSSaveOptions.
Copy link to clipboard
Copied
Looking at the scripting reference, the flattenerPreset property is not found in EPSSaveOptions. PDFSaveOptions does have it, but the value it accepts seems to be a string.
In other words, the opportunity to use something like "app.flattenerPresets.getByName(‘PresetName’)" will probably never come up.
Or is it just not existing in the documentation , but actually it is possible to specify a flattener preset with EPSSaveOptions?
Copy link to clipboard
Copied
Posted an issue to UserVoice, so feel free to vote for it.
Find more inspiration, events, and resources on the new Adobe Community
Explore Now