Per dati piuttosto grezzi, prova a salvarlo come, ad es. 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)
Quindi rendilo eseguibile: $ chmod a+x psdtext.py
Salva l'output come file *: $ ./psdtext.py my_file_with_text_layers.psd > textinfo.txt
Apri in un editor: $ open textinfo.txt
Ad esempio: puoi cercare /Text
nel tuo editor per scorrere il contenuto del testo di diversi livelli, o cercare /FontSet
per scorrere i caratteri (il primo font elencato è quello utilizzato dal layer, altri sono fallback)
So che l'output è brutto, ma hey, contiene tutte le informazioni.
*) Non farei solo $ ./psdtext.py file.psd
perché rovina visivamente il terminale - prova ad es. $ ./psdtext.py file.psd | less
invece.