Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

app.flattenerPresets es nulo o indefinido, impidiendo el acceso a los presets de acoplamiento.

New Here ,
May 15, 2025 May 15, 2025

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):

  1. Abrir Adobe Illustrator 29.5.1 en un sistema operativo Windows.

  2. 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:

  • Impide la capacidad de seleccionar o aplicar mediante script un preset de acoplamiento de transparencia específico al guardar archivos (como EPS o PDF).
  • Esto es crucial para procesos de preimpresión donde se necesita un control preciso sobre cómo se manejan las transparencias para, por ejemplo, asegurar que los trazos de las ilustraciones se mantengan como trazos editables y no se conviertan en contornos (formas rellenas).
  • Mi objetivo principal es automatizar la modificación de textos en archivos de Illustrator y su posterior exportación a formato EPS, garantizando que los trazos (especialmente líneas de corte) permanezcan editables. Este bug bloquea la posibilidad de configurar la opción "Convertir todos los trazos en contornos" a "desactivado" a través de un preset de acoplamiento, ya que la colección de presets es inaccesible.

Información Adicional y Pasos de Solución de Problemas Realizados:

  • El problema persiste después de haber restablecido las preferencias de Adobe Illustrator.
  • El problema persiste después de una desinstalación y reinstalación completa de Adobe Illustrator 29.5.1.
  • El problema se ha replicado en tres máquinas diferentes, todas con Windows e Illustrator 29.5.1.
  • Es importante destacar que la interfaz gráfica de Adobe Illustrator (accediendo a Edición > Ajustes preestablecidos de acoplador de transparencias...) SÍ muestra y permite interactuar con los presets de acoplamiento de manera normal. Esto sugiere que el problema es específico de cómo la API de scripting (ExtendScript) está accediendo o exponiendo esta funcionalidad en la versión 29.5.1.

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.

TOPICS
Bug , Import and export , Scripting
684
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Enthusiast , May 16, 2025 May 16, 2025

Posted an issue to UserVoice, so feel free to vote for it.

Translate
Adobe
Enthusiast ,
May 15, 2025 May 15, 2025

Tried and succeeded with this script.

var presets = app.flattenerPresetsList ;
alert(presets.join('\n')) ;
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 15, 2025 May 15, 2025

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
May 15, 2025 May 15, 2025

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?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
May 16, 2025 May 16, 2025
LATEST

Posted an issue to UserVoice, so feel free to vote for it.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines