{"id":19923,"date":"2014-08-06T17:26:55","date_gmt":"2014-08-06T15:26:55","guid":{"rendered":"https:\/\/www.modelical.com\/como-automatizar-photoshop-introduccion\/"},"modified":"2022-05-11T14:07:12","modified_gmt":"2022-05-11T12:07:12","slug":"como-automatizar-photoshop-introduccion","status":"publish","type":"post","link":"https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/","title":{"rendered":"Automatizar Photoshop &#8211; Intro"},"content":{"rendered":"<p>Si alguna vez te has encontrado repitiendo una serie de tareas manualmente en photoshop porque las actions no pueden ayudarte, entonces es el momento de probar a automatizar la herramienta. Las siguientes l\u00edneas deber\u00edan ayudarte a dar tus primeros pasos.<\/p>\n<h3>Lenguajes disponibles<\/h3>\n<p>La primera buena noticia es que si ya saben algo sobre programaci\u00f3n en alg\u00fan lenguaje serio, no les va a costar nada empezar. Lenguajes de programaci\u00f3n serios son C y C++, todo lo dem\u00e1s son solo juguetes. La segunda buena noticia es que tenemos varios &#8220;lenguajes&#8221; donde elegir para meterle mano a Photoshop, aunque realmente solo hay una elecci\u00f3n sensata:<\/p>\n<ul>\n<li><strong>VBScript<\/strong><\/li>\n<li><strong>AppleScript<\/strong><\/li>\n<li><strong>JavaScript<\/strong><\/li>\n<\/ul>\n<p>\u00bfCu\u00e1l es la elecci\u00f3n sensata? JavaScript, est\u00e1 claro. \u00bfPor qu\u00e9? Porque es independiente de la plataforma, as\u00ed nuestros scripts para Windows podr\u00e1n ser usados en Mac OS. Probablemente haya alguna raz\u00f3n para usar alguno de los otros dos lenguajes, pero eso implicar\u00eda aprender una nueva variante, tratar con esa broma que es Visual Basic, para despu\u00e9s enfrentarse al engorro de portar de un lenguaje a otro. No, quedemosnos con JavaScript. Esa amalgama que tiene poco de Java, s\u00ed, pero que si est\u00e1s programando algo para la web es indispensable controlar.<\/p>\n<p>Como pueden imaginar, Adobe ha extendido la sintaxis del lenguaje para acomodar sus necesidades, de ah\u00ed que se en algunos sitios se refieran a el como ExtendedScript, pero para empezar, apenas notaremos diferencias. En cualquier caso, no dejen de mirar el la pagina de Adobe sobre Scripting para Photoshop (<a title=\"Adobe Photoshop Scripting\" href=\"http:\/\/www.adobe.com\/devnet\/photoshop\/scripting.html\" target=\"_blank\" rel=\"noopener\">aqu\u00ed<\/a>). Destacar\u00eda tres cosas:<\/p>\n<ul>\n<li><strong>Photoshop CS6 Scripting Guide<\/strong>, en el que encontrareis una gu\u00eda para aprender que pueden hacer usando los lenguajes anteriormente mencionados.<\/li>\n<li><strong>Photoshop CS6 JavaScript Reference<\/strong>, en el que est\u00e1 la documentaci\u00f3n de todos los m\u00e9todos disponibles desde JavaScript. \u00bfHe dicho todos? Bueno, seguro que todo, todo no est\u00e1.<\/li>\n<li><strong>Scripting Listener Plug-in<\/strong>, un plug-in para Photoshop, que vuelca un registro de todo lo que hacemos en la interfaz de Photoshop como llamadas a funciones JavaScript. Muy \u00fatil, cuando no uno no tiene ni idea de como empezar con el c\u00f3digo, pero si que tiene una idea de que pasos hay que automatizar. Por otro lado es indispensable para saber los identificadores de ciertas acciones que no est\u00e1n mencionadas en los anteriores documentos.<\/li>\n<\/ul>\n<h3>Escoja su editor<\/h3>\n<p>Los ficheros en los que vamos a trabajar son ficheros de texto normales, como los que usar\u00edamos en una pagina web. Estos pueden tener la t\u00edpica extensi\u00f3n .js, pero es recomendable que usemos la extensi\u00f3n .jsx. Esto nos ayudara a diferenciarlos de otros archivos JavaScript, y adem\u00e1s nos permitir\u00e1 ejecutarlos con un doble click&#8230; Para editarlos podemos usar cualquier editor de texto de nuestra preferencia.<\/p>\n<p>Sin embargo vamos a hacer notar que Adobe ha incluido un editor propio, que, como editor, vale m\u00e1s bien poco, no he podido configurar que la sangr\u00eda autom\u00e1tica sea con tabulaciones, en vez de espacios. Y ese es un detalle que odio profundamente, no juzgarme muy seriamente si pienso que esas personas deber\u00edan morir. Lentamente, seguramente. Totalmente. Electricamente. Finalmente.<\/p>\n<p><img decoding=\"async\" width=\"1280\" height=\"800\" class=\"alignnone size-full wp-image-3960\" src=\"\/wp-content\/uploads\/2014\/04\/extendedscript.png\" alt=\"Adobe ExtendedScript Toolkit CS6\" srcset=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2014\/04\/extendedscript.png 1280w, https:\/\/www.modelical.com\/wp-content\/uploads\/2014\/04\/extendedscript-480x300.png 480w, https:\/\/www.modelical.com\/wp-content\/uploads\/2014\/04\/extendedscript-768x480.png 768w, https:\/\/www.modelical.com\/wp-content\/uploads\/2014\/04\/extendedscript-400x250.png 400w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/p>\n<p>Si observan la parte inferior derecha de la ventana, tenemos una pesta\u00f1a denominada Data Browser, que es una de las dos razones por la que querr\u00e1n usar este editor. En este panel podemos inspeccionar variables y objetos que tenemos declarados (dependiendo del alcance de la variable eso si). T\u00e9nganlo en cuenta a la hora de depurar. La otra raz\u00f3n por la que querr\u00e1n usarlo es la capacidad de a\u00f1adir breakpoints, ejecutar paso a paso, y otras muchas cosas a las que estamos acostumbrados de otros entornos de desarrollo. Por defecto, los scripts generados desde el editor de Adobe se guardan dentro de una carpeta llamada &#8220;Adobe Scripts&#8221;, localizada dentro de la carpeta documentos. No es un mal lugar, y desde el mismo editor podemos guardarlos en cualquier otro sitio.<\/p>\n<h3>C\u00f3mo ejecutar los scripts<\/h3>\n<p>En principio disponemos de tres maneras de ejecutar scripts, cada una con sus ventajas y desventajas:<\/p>\n<ul>\n<li><strong>Desde el mismo ExtendedScript Toolkit<\/strong>. Desde la barra disponemos de los botones t\u00edpicos para controlar la ejecuci\u00f3n. Os puedo asegurar que esta es la opci\u00f3n m\u00e1s comoda mientras esten desarrollando su script.<\/li>\n<li><strong>Desde Photoshop, desde el dialogo de selecci\u00f3n de script<\/strong>. Esta es una opci\u00f3n un poco m\u00e1s promiscua, ya que os permite probar scripts est\u00e9n donde est\u00e9n (ideal para probar scripts reci\u00e9n descargados de Internet):<br \/>\n<img decoding=\"async\" width=\"1114\" height=\"866\" class=\"size-full wp-image-3962 aligncenter\" src=\"\/wp-content\/uploads\/2014\/04\/script-menu.png\" alt=\"Script menu\" srcset=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2014\/04\/script-menu.png 1114w, https:\/\/www.modelical.com\/wp-content\/uploads\/2014\/04\/script-menu-480x373.png 480w, https:\/\/www.modelical.com\/wp-content\/uploads\/2014\/04\/script-menu-768x597.png 768w\" sizes=\"(max-width: 1114px) 100vw, 1114px\" \/><\/li>\n<li><strong>Desde Photoshop, desde el men\u00fa Scripts<\/strong>. Para que vuestro script aparezca en esta lista, deben copiar el fichero a la carpeta\u00a0PresetsScripts, dentro de su carpeta de usted de instalaci\u00f3n de Photoshop. Tened en cuenta que la versi\u00f3n de 32 y 64 bits tienen carpetas separadas. Esta es la opci\u00f3n id\u00f3nea para los scripts que son estables y que saben que van a usar muy a menudo. Adem\u00e1s, de este modo pueden asignarle un atajo de teclado.<\/li>\n<\/ul>\n<p>Por otro lado, tambi\u00e9n existe la posibilidad de grabar una acci\u00f3n que haga uso de un script. No he explorado las posibilidades de esto ni como casan con las tres opciones que os comento aqu\u00ed. Experimenten un poco y averig\u00fcen como funciona.<\/p>\n<h3>Primeros pasos<\/h3>\n<p>Vamos a hacer algo sencillo, seguramente algo tan sencillo que se podr\u00eda haber hecho con una acci\u00f3n, pero as\u00ed nos podemos familiarizar con los elementos base, y a partir de ah\u00ed, dejaremos volar nuestra imaginaci\u00f3n.<\/p>\n<p>La finalidad del c\u00f3digo es guardar una copia de cada uno de los archivos abiertos actualmente, en formato JPEG, reduci\u00e9ndolos previamente a una altura de 512 pixeles, manteniendo la relaci\u00f3n de aspecto. Si el archivo originalmente no tiene esta altura m\u00ednima, no se realiza \u00a0ninguna acci\u00f3n. He separado en funciones algunas parte del c\u00f3digo para mejorar la lectura y dejar m\u00e1s claro el flujo del programa, ya que \u00e9stas, aunque necesarias, si las incluyera junto al resto del c\u00f3digo, nos distraer\u00edan un poco del flujo del programa, y siempre es bueno separar por si reutilizamos esas funciones.<\/p>\n<pre class=\"lang:js decode:true\">var targetHeight = 512;\r\n\r\nfor (var i = 0; i &lt; app.documents.length; i++) {\r\n\tvar doc = app.documents[i];\r\n\tapp.activeDocument = doc;\r\n\tvar imageWidth = doc.width;\r\n\tvar imageHeight = doc.height;\r\n\tvar imageAspectRatio = doc.width \/ doc.height;\r\n\r\n\tif( imageHeight &gt; targetHeight ) {\r\n        var tWidth = Math.round( imageAspectRatio * targetHeight );\r\n        doc.resizeImage( tWidth, targetHeight );\r\n\r\n        var fileName = getFileName( doc );\r\n\r\n        fileName.name += \"_\" + targetHeight;\r\n\r\n        saveFile( doc, fileName );\r\n\t}\r\n}\r\n\r\nfunction getFileName( doc ) {\r\n    var filePath = doc.path.toString();\r\n    var fileName = doc.name.toString();\r\n\r\n    var lastDot = fileName.lastIndexOf( \".\" );\r\n    if ( lastDot == -1 ) {\r\n        lastDot = fileName.length;\r\n    }\r\n\r\n    var fileExtension = fileName.substr( lastDot );\r\n    var fileName = fileName.substr( 0, lastDot );\r\n\r\n    var outputName = filePath + \"\/\" + fileName;\r\n\r\n    return { name: outputName, extension: fileExtension };\r\n}\r\n\r\nfunction saveFile( doc, fileName ) {\r\n    fileName.name += \".jpg\";\r\n    var jpegOptions = new JPEGSaveOptions();\r\n    jpegOptions.quality = 10;\r\n    jpegOptions.embedColorProfile = true;\r\n    doc.saveAs( File( fileName.name ), jpegOptions, true );\r\n}<\/pre>\n<p>Vayamos con el flujo principal del programa. Lo primero que podemos ver es que hacemos uso de una variable que no hemos declarado nosotros, <span class=\"lang:js decode:true crayon-inline\">app<\/span>. Esta variable, que es en realidad un objeto de esos falsos que tiene JavaScipt, hace referencia a la aplicaci\u00f3n activa (tened en cuenta que\u00a0tambi\u00e9n\u00a0se puede automatizar de un modo muy similar, Illustrator, After Effects, con lo que app puede ser una referencia a uno de estos programas tambi\u00e9n).\u00a0Si\u00a0utilizan el Data Broswe pueden inspeccionar la multitud de variables que contiene.<\/p>\n<p>Una variable importante dentro de <span class=\"lang:js decode:true crayon-inline\">app<\/span>\u00a0es\u00a0<span class=\"lang:js decode:true crayon-inline\">documents<\/span>, que contiene todos los documentos abiertos. Es un array de los de toda la vida. Como queremos tratar todos los archivos abiertos, iteramos con un bucle <span class=\"lang:js decode:true crayon-inline\">for<\/span>, y ya nos sentimos como en casa. En la linea 5 establecemos la variable <span class=\"lang:js decode:true crayon-inline\">activeDocument<\/span>\u00a0de <span class=\"lang:js decode:true crayon-inline\">app<\/span>\u00a0al documento actual por el que vamos iterando. El documento activo es el documento visible en Photoshop, y aunque esta asignaci\u00f3n no es estrictamente necesaria, algunas funciones solo pueden usarse sobre el documento activo.<\/p>\n<p>Seguidamente extraemos la informaci\u00f3n de ancho y alto del documento (imagen), calculamos la relaci\u00f3n de aspecto, y pasamos a comparar si la imagen en cuesti\u00f3n tiene la altura m\u00ednima. En caso positivo, pasamos a redimensionar el fichero, mediante la funci\u00f3n\u00a0<span class=\"lang:js decode:true crayon-inline\">resizeImage<\/span>, pasando como par\u00e1metros el alto y el ancho calculado.<\/p>\n<p>Finalmente, para guardar el fichero, vamos a obtener el nombre del fichero, junto con la ruta absoluta, sobre el que estamos trabajando, mediante la funci\u00f3n\u00a0<span class=\"lang:js decode:true crayon-inline\">getFileName<\/span>, y le a\u00f1adimos un sufijo para indicar la nueva altura del fichero, y llamamos a la funci\u00f3n\u00a0<span class=\"lang:js decode:true crayon-inline\">saveAs<\/span>\u00a0que nos guardar\u00e1 el fichero en formato JPEG.<\/p>\n<p>En la siguiente vamos a hacer algo un poco m\u00e1s complicado, que no podr\u00eda resolverse simplemente con acciones, <a title=\"C\u00f3mo Atomatizar Photoshop a Fondo\" href=\"https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-a-fondo\/\">\u00e9chale un vistazo: C\u00f3mo Atomatizar Photoshop a Fondo<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si alguna vez te has encontrado repitiendo una serie de tareas manualmente en photoshop porque las actions no pueden ayudarte, entonces es el momento de probar a automatizar la herramienta. Las siguientes l\u00edneas deber\u00edan ayudarte a dar tus primeros pasos. Lenguajes disponibles La primera buena noticia es que si ya saben algo sobre programaci\u00f3n en [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":27180,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[704],"tags":[793],"class_list":["post-19923","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guias","tag-tecnologia-otros"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Automatizar Photoshop - Intro - Modelical<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatizar Photoshop - Intro - Modelical\" \/>\n<meta property=\"og:description\" content=\"Si alguna vez te has encontrado repitiendo una serie de tareas manualmente en photoshop porque las actions no pueden ayudarte, entonces es el momento de probar a automatizar la herramienta. Las siguientes l\u00edneas deber\u00edan ayudarte a dar tus primeros pasos. Lenguajes disponibles La primera buena noticia es que si ya saben algo sobre programaci\u00f3n en [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/\" \/>\n<meta property=\"og:site_name\" content=\"Modelical\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Modelical\/\" \/>\n<meta property=\"article:published_time\" content=\"2014-08-06T15:26:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-05-11T12:07:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.modelical.com\/wp-content\/uploads\/2014\/04\/script-menu.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1114\" \/>\n\t<meta property=\"og:image:height\" content=\"866\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Juan Manuel Perez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@modelical\" \/>\n<meta name=\"twitter:site\" content=\"@modelical\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Juan Manuel Perez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/como-automatizar-photoshop-introduccion\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/como-automatizar-photoshop-introduccion\\\/\"},\"author\":{\"name\":\"Juan Manuel Perez\",\"@id\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/#\\\/schema\\\/person\\\/c9c2467429fc6feb888f8bd2300b70de\"},\"headline\":\"Automatizar Photoshop &#8211; Intro\",\"datePublished\":\"2014-08-06T15:26:55+00:00\",\"dateModified\":\"2022-05-11T12:07:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/como-automatizar-photoshop-introduccion\\\/\"},\"wordCount\":1347,\"commentCount\":1,\"image\":{\"@id\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/como-automatizar-photoshop-introduccion\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.modelical.com\\\/wp-content\\\/uploads\\\/2014\\\/08\\\/script-menu-400x250-1.png\",\"keywords\":[\"Tec Otros\"],\"articleSection\":[\"Guias\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.modelical.com\\\/es\\\/como-automatizar-photoshop-introduccion\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/como-automatizar-photoshop-introduccion\\\/\",\"url\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/como-automatizar-photoshop-introduccion\\\/\",\"name\":\"Automatizar Photoshop - Intro - Modelical\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/como-automatizar-photoshop-introduccion\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/como-automatizar-photoshop-introduccion\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.modelical.com\\\/wp-content\\\/uploads\\\/2014\\\/08\\\/script-menu-400x250-1.png\",\"datePublished\":\"2014-08-06T15:26:55+00:00\",\"dateModified\":\"2022-05-11T12:07:12+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/#\\\/schema\\\/person\\\/c9c2467429fc6feb888f8bd2300b70de\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.modelical.com\\\/es\\\/como-automatizar-photoshop-introduccion\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/como-automatizar-photoshop-introduccion\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.modelical.com\\\/wp-content\\\/uploads\\\/2014\\\/08\\\/script-menu-400x250-1.png\",\"contentUrl\":\"https:\\\/\\\/www.modelical.com\\\/wp-content\\\/uploads\\\/2014\\\/08\\\/script-menu-400x250-1.png\",\"width\":400,\"height\":250},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/\",\"name\":\"Modelical\",\"description\":\"We build information\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/#\\\/schema\\\/person\\\/c9c2467429fc6feb888f8bd2300b70de\",\"name\":\"Juan Manuel Perez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/945465eff02d16d8d02a0853f9d484ad26660cf20c44978db2c7bae51957c5d0?s=96&d=initials&r=g&initials=ju\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/945465eff02d16d8d02a0853f9d484ad26660cf20c44978db2c7bae51957c5d0?s=96&d=initials&r=g&initials=ju\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/945465eff02d16d8d02a0853f9d484ad26660cf20c44978db2c7bae51957c5d0?s=96&d=initials&r=g&initials=ju\",\"caption\":\"Juan Manuel Perez\"},\"url\":\"https:\\\/\\\/www.modelical.com\\\/es\\\/author\\\/juanma\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Automatizar Photoshop - Intro - Modelical","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/","og_locale":"es_ES","og_type":"article","og_title":"Automatizar Photoshop - Intro - Modelical","og_description":"Si alguna vez te has encontrado repitiendo una serie de tareas manualmente en photoshop porque las actions no pueden ayudarte, entonces es el momento de probar a automatizar la herramienta. Las siguientes l\u00edneas deber\u00edan ayudarte a dar tus primeros pasos. Lenguajes disponibles La primera buena noticia es que si ya saben algo sobre programaci\u00f3n en [&hellip;]","og_url":"https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/","og_site_name":"Modelical","article_publisher":"https:\/\/www.facebook.com\/Modelical\/","article_published_time":"2014-08-06T15:26:55+00:00","article_modified_time":"2022-05-11T12:07:12+00:00","og_image":[{"width":1114,"height":866,"url":"https:\/\/www.modelical.com\/wp-content\/uploads\/2014\/04\/script-menu.png","type":"image\/png"}],"author":"Juan Manuel Perez","twitter_card":"summary_large_image","twitter_creator":"@modelical","twitter_site":"@modelical","twitter_misc":{"Escrito por":"Juan Manuel Perez","Tiempo de lectura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/#article","isPartOf":{"@id":"https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/"},"author":{"name":"Juan Manuel Perez","@id":"https:\/\/www.modelical.com\/es\/#\/schema\/person\/c9c2467429fc6feb888f8bd2300b70de"},"headline":"Automatizar Photoshop &#8211; Intro","datePublished":"2014-08-06T15:26:55+00:00","dateModified":"2022-05-11T12:07:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/"},"wordCount":1347,"commentCount":1,"image":{"@id":"https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/#primaryimage"},"thumbnailUrl":"https:\/\/www.modelical.com\/wp-content\/uploads\/2014\/08\/script-menu-400x250-1.png","keywords":["Tec Otros"],"articleSection":["Guias"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/","url":"https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/","name":"Automatizar Photoshop - Intro - Modelical","isPartOf":{"@id":"https:\/\/www.modelical.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/#primaryimage"},"image":{"@id":"https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/#primaryimage"},"thumbnailUrl":"https:\/\/www.modelical.com\/wp-content\/uploads\/2014\/08\/script-menu-400x250-1.png","datePublished":"2014-08-06T15:26:55+00:00","dateModified":"2022-05-11T12:07:12+00:00","author":{"@id":"https:\/\/www.modelical.com\/es\/#\/schema\/person\/c9c2467429fc6feb888f8bd2300b70de"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.modelical.com\/es\/como-automatizar-photoshop-introduccion\/#primaryimage","url":"https:\/\/www.modelical.com\/wp-content\/uploads\/2014\/08\/script-menu-400x250-1.png","contentUrl":"https:\/\/www.modelical.com\/wp-content\/uploads\/2014\/08\/script-menu-400x250-1.png","width":400,"height":250},{"@type":"WebSite","@id":"https:\/\/www.modelical.com\/es\/#website","url":"https:\/\/www.modelical.com\/es\/","name":"Modelical","description":"We build information","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.modelical.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.modelical.com\/es\/#\/schema\/person\/c9c2467429fc6feb888f8bd2300b70de","name":"Juan Manuel Perez","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/945465eff02d16d8d02a0853f9d484ad26660cf20c44978db2c7bae51957c5d0?s=96&d=initials&r=g&initials=ju","url":"https:\/\/secure.gravatar.com\/avatar\/945465eff02d16d8d02a0853f9d484ad26660cf20c44978db2c7bae51957c5d0?s=96&d=initials&r=g&initials=ju","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/945465eff02d16d8d02a0853f9d484ad26660cf20c44978db2c7bae51957c5d0?s=96&d=initials&r=g&initials=ju","caption":"Juan Manuel Perez"},"url":"https:\/\/www.modelical.com\/es\/author\/juanma\/"}]}},"_links":{"self":[{"href":"https:\/\/www.modelical.com\/es\/wp-json\/wp\/v2\/posts\/19923","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.modelical.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.modelical.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.modelical.com\/es\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.modelical.com\/es\/wp-json\/wp\/v2\/comments?post=19923"}],"version-history":[{"count":0,"href":"https:\/\/www.modelical.com\/es\/wp-json\/wp\/v2\/posts\/19923\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.modelical.com\/es\/wp-json\/wp\/v2\/media\/27180"}],"wp:attachment":[{"href":"https:\/\/www.modelical.com\/es\/wp-json\/wp\/v2\/media?parent=19923"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.modelical.com\/es\/wp-json\/wp\/v2\/categories?post=19923"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.modelical.com\/es\/wp-json\/wp\/v2\/tags?post=19923"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}