Ich möchte überprüfen (und nur das, ohne diese Ebene zu bearbeiten), welche Schriftart, Größe, Farbe usw. in einer bestimmten Textebene in einer mit Photoshop erstellten PSD-Datei verwendet wurden. Geht das ohne Photoshop.app? Pixelmator scheint das nicht zu können, ebenso Acorn. Kann ich noch etwas versuchen?
Versuchen Sie bei eher rohen Daten, dies zu speichern, zpsdtext.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)
Dann lauffähig machen:$ chmod a+x psdtext.py
Speichern Sie die Ausgabe als Datei*:$ ./psdtext.py my_file_with_text_layers.psd > textinfo.txt
In einem Editor öffnen:$ open textinfo.txt
Zum Beispiel: Sie können in Ihrem Editor nach suchen, /Text
um den Textinhalt verschiedener Ebenen zu durchlaufen, oder nach suchen, um /FontSet
die Schriftarten zu durchlaufen (die erste aufgelistete Schriftart ist diejenige, die die Ebene verwendet, andere sind Fallbacks).
Ich weiß, dass die Ausgabe hässlich ist, aber hey, sie enthält alle Informationen.
*) Ich würde es nicht tun, $ ./psdtext.py file.psd
da es das Terminal optisch durcheinander bringt — versuchen Sie es $ ./psdtext.py file.psd | less
stattdessen mit eg.
piobyz