Vamos a ver, creo que he dado con la solución.
Copiad las líneas que van a continuación y las salvais en un archivo con la extensión .jsx o bien .js
// ****************************************************************
// script MarcoExif © manolowarr 2005 - Modificado por (Andres J.)
// ****************************************************************
var AnchoMarco = 5 // valor en porcentaje del tamaño del documento, ej: para 5% poner solo 5
var AnchoTrazo = 10 // Anchura del trazo en mil por ciento del tamaño del documento
// en un documento de 640 px el 5 equivale mas o menos a 3 px
var TamanioLetra = 16 // VARIABLE PARA EL TAMAÑO DE LETRA, LO PUEDES CAMBIAR
//*************************************************
var cambiarcolor = confirm ("Los colores seran, del trazo el frontal y el marco el color del fondo \n pulsa no para cambiarlo y empezar de nuevo o si para continuar - manolowarr 2005")
if (cambiarcolor == true) {
var strtRulerUnits = preferences.rulerUnits
preferences.rulerUnits = Units.CM
var docRef = activeDocument
var docResolution = Number(docRef.resolution)
//*********************************************
//*************************************************
function getCSVersion() {
return parseInt(version)
}
var mfactor = 1
if (getCSVersion() > 7 && preferences.rulerUnits == Units.CM){
mfactor = 72 / 2.54 // CM
}
if (getCSVersion() > 7 && preferences.rulerUnits == Units.PIXELS) {
mfactor = 72 / docResolution // PIXELS
}
var rfactor = 1
if (getCSVersion() > 8 && preferences.rulerUnits == Units.CM ) {
rfactor = Number(docResolution / 72) // CM
}
if (getCSVersion() > 8 && preferences.rulerUnits == Units.PIXELS ) {
rfactor = 1 // PIXELS
}
//*************************************************
//*********************************************
docRef.flatten()
var wh = Number(docRef.width)
if (docRef.width < docRef.height ){
wh = Number(docRef.height)
}
var cLetra = Number(TamanioLetra / 0.30)
cLetra = Number(wh * cLetra / 100)
var ElColor = foregroundColor
var ElColor2 = backgroundColor
var i = Number(wh * AnchoMarco / 100)
var h = Number(wh * AnchoTrazo / 1000)
backgroundColor = ElColor
docRef.resizeCanvas(docRef.width+h, docRef.height+h, AnchorPosition.MIDDLECENTER)
backgroundColor = ElColor2
docRef.resizeCanvas(docRef.width+i, docRef.height+i, AnchorPosition.MIDDLECENTER)
backgroundColor = ElColor2
docRef.resizeCanvas(docRef.width, docRef.height+i, AnchorPosition.TOPCENTER)
//*************************************************************************************
var myIso = ExifNumber("4855")
if (myIso == " no hay datos" ){
myIso = "Auto"
}
var MyExif = "Cámara: " + ExifNumber("0272") + ", " + "velocidad: " + ExifNumber("3434") + ", " + "diafragma: " + ExifNumber("3437") + ",\r" + "distancia focal: " + ExifNumber("7386") + ", " + "ISO: " + myIso + ", " + "fecha: " + ExifNumber("6867")
TextLayer=docRef.artLayers.add()
TextLayer.kind = LayerKind.TEXT
TextLayer.textItem.color = ElColor
TextLayer.textItem.size = cLetra
TextLayer.textItem.font = "ComicSansMS"
TextLayer.textItem.position = [i/2,docRef.height - i]
TextLayer.textItem.contents= MyExif
//*************************************************************************************
if (docRef.width > docRef.height){
NuevoAncho(wh, docResolution)
}
else{
NuevoAlto(wh, docResolution)
}
//*******************************
foregroundColor = ElColor
backgroundColor = ElColor2
preferences.rulerUnits = strtRulerUnits
} // confirm
//**************************************************************************************************
function NuevoAncho(Ancho, docResolution) {
Ancho *= rfactor
var NuevoAlto
NuevoAlto = docRef.height * Ancho / docRef.width
docRef.resizeImage (Ancho, NuevoAlto, docResolution, ResampleMethod.BICUBIC)
}
function NuevoAlto(Alto, docResolution) {
Alto *= rfactor
var NuevoAncho
NuevoAncho = docRef.width * Alto / docRef.height
docRef.resizeImage (NuevoAncho, Alto, docResolution, ResampleMethod.BICUBIC)
}
//*****************************************************************************************
function ExifNumber(n) { // function para extraer los datos exif, segun numero que pasemos
var docRef = activeDocument
var dato = docRef.info.exif
dato = dato.join()
var p = dato.indexOf(n)
if ( p > 0 ){
p = p+n.length
var dato = dato.slice(p)
var f = dato.indexOf(",")
dato = dato.substring(0, f )
return dato
}
else{
dato = " no hay datos"
return dato
}
}
//********************************************************************************************