前提・実現したいこと
PSD.jsを使用し、PSDファイルに含まれているテキストレイヤーのテキストデータを取得し、保存したいと考えています。
test.js
1var PSD = require('psd'); 2var psd = PSD.fromFile("path/to/file.psd"); 3psd.parse(); 4 5console.log(psd.tree().export());
これで返ってくるのは…
response.json
1{ 2 "children": [ 3 { 4 "type": "group", 5 "visible": true, 6 "opacity": 1, 7 "blendingMode": "normal", 8 "name": "タイトル", 9 "left": -48, 10 "right": 1969, 11 "top": -16, 12 "bottom": 277, 13 "height": 293, 14 "width": 2017, 15 "children": [ 16 { 17 "type": "layer", 18 "visible": true, 19 "opacity": 1, 20 "blendingMode": "normal", 21 "name": "就職応援フェア", 22 "left": 613, 23 "right": 1306, 24 "top": 193, 25 "bottom": 267, 26 "height": 74, 27 "width": 693, 28 "mask": {}, 29 "text": { 30 "value": "就職応援フェア", 31 "font": { 32 "name": "RodinNTLGPro-EB", 33 "sizes": [ 34 80.93518, 35 80.93518, 36 65.93518, 37 80.93518 38 ], 39--- 40以下略
ご覧の通り、PSDファイルにはレイヤーの階層構造があるため、"text": { "value":"hogehoge"
が何階層目に来るかは、ファイルによって異なります。
どのように取得すればよいでしょうか?
最終的には、gulpでタスク化し、複数のPSDからテキストデータだけ抜き出し、JSONかMarkdownファイルに納めたいと考えています。
補足情報(FW/ツールのバージョンなど)
OS: Windows7
Node.js: 8.11.1
npm: 5.6.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。