回答:
かなり生のデータの場合、これを次のように保存してみてください。 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)
次に、実行可能にします。 $ chmod a+x psdtext.py
出力をファイルとして保存します*: $ ./psdtext.py my_file_with_text_layers.psd > textinfo.txt
エディターで開く: $ open textinfo.txt
たとえば/Text
、エディターで検索してさまざまなレイヤーのテキストコンテンツ/FontSet
をループしたり、フォントをループして検索したりすることができます(リストされている最初のフォントはレイヤーが使用するフォントで、その他はフォールバックです)
出力がいのはわかっていますが、すべての情報が含まれています。
*)$ ./psdtext.py file.psd
視覚的にターミナルを台無しにするのでは$ ./psdtext.py file.psd | less
なく、代わりに試してみてください。