Propiedades de fuente de la capa de texto en el archivo PSD: ¿es posible inspeccionar sin Photoshop?

Quiero inspeccionar (y solo eso, sin editar esta capa) qué fuente, tamaño, color, etc. se usaron en una capa de texto determinada en un archivo PSD creado con Photoshop. ¿Es esto factible sin Photoshop.app? Pixelmator parece ser incapaz de lograr eso, lo mismo con Acorn. ¿Algo más que pueda probar?

Respuestas (1)

Para datos bastante crudos, intente guardar esto como, por ejemplopsdtext.py

#!/usr/bin/python

import sys, re

input = sys.argv[1]

# This write_title function is just for vanity and easier manual searching
def write_title(num):
  filler = 97
  if num < 10:
    filler2 = filler - 25
  elif num < 100:
    filler2 = filler - 26
  else:
    filler2 = filler - 27
  print("\n" * 2)
  print("#" * filler)
  print("#" * filler)
  print("#" * 11 + " Text layer " + str(num) + " " + "#" * filler2)
  print("#" * filler)
  print("#" * filler)
  print("\n" * 2)  

def psd_texts(input):
  t = x = 0
  for line in open(input, 'r'):
    if re.search("^\s+/Text\s+.*", line):
      x = 1
      t += 1
      write_title(t)
      print(line.rstrip('\n'))
    elif x == 1:
      if "warp" in line:
        x = 0
      elif ">>" not in line and "<<" not in line:
        print(line.rstrip('\n')) 

if __name__ == "__main__":
  psd_texts(input)

Luego hazlo ejecutable:$ chmod a+x psdtext.py

Guarde la salida como un archivo*:$ ./psdtext.py my_file_with_text_layers.psd > textinfo.txt

Abrir en un editor:$ open textinfo.txt

Por ejemplo: puede buscar /Texten su editor para recorrer el contenido de texto de diferentes capas, o buscar para /FontSetrecorrer las fuentes (la primera fuente de la lista es la que usa la capa, otras son alternativas)

Sé que la salida es fea, pero bueno, contiene toda la información.


*) No lo haría solo $ ./psdtext.py file.psdporque estropea visualmente la Terminal; intente, por ejemplo, $ ./psdtext.py file.psd | lessen su lugar.

Wow, gracias, tal vez no sea la forma más conveniente, pero con un poco de paciencia debería obtener toda la información que necesito;)