Para datos en bruto, intente guardar esto como, por ejemplo, psdtext.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 /Text
en su editor para recorrer el contenido de texto de diferentes capas, o buscar /FontSet
para recorrer 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 haría solo $ ./psdtext.py file.psd
, ya que desordena visualmente la Terminal, intente, por ejemplo. $ ./psdtext.py file.psd | less
en su lugar.