透過網頁讀取Photoshop PSD檔案內容
在專案中有需要透過網頁來讀取Photoshop PSD檔案的內部資訊,我們透過PSD.js(備用載點)來實現這樣的功能,在官方提供的功能展示頁中,我們可以看到在頁面中只需引入psd.min.js後,加入透過少量的Javascript就可以針對PSD進行解析。
<!DOCTYPE html> <html> <head> <title>psd.js image example</title> <style type="text/css"> body, html { padding: 0; margin: 0; } #dropzone { width: 500px; height: 100px; border: 1px #ababab dashed; margin: 50px auto; } #dropzone p { text-align: center; line-height: 100px; margin: 0; padding: 0; } #image { text-align: center; } </style> <script type="text/javascript" src="psd.min.js"></script> </head> <body> <div id="dropzone"> <p>Drop here</p> </div> <div id="image"></div> <pre id="data"></pre> <script type="text/javascript"> (function () { var PSD = require('psd'); document.getElementById('dropzone').addEventListener('dragover', onDragOver, true); document.getElementById('dropzone').addEventListener('drop', onDrop, true); function onDragOver(e) { e.stopPropagation(); e.preventDefault(); e.dataTransfer.dropEffect = 'copy'; } function onDrop(e) { e.stopPropagation(); e.preventDefault(); PSD.fromEvent(e).then(function (psd) { var data = JSON.stringify(psd.tree().export(), undefined, 2); document.getElementById('data').innerHTML = data; document.getElementById('image').appendChild(psd.image.toPng()); }); } }()); </script> </body> </html>
我們透過下圖這樣的一個PSD檔案對頁面進行測試,檔案中共有三個圖層,包含一個文字圖層。
![](https://cloudlab.tw/wp/wp-content/uploads/2020/04/2020-01-14_091102.png)
頁面將PSD分析出結果後,以json格式顯示在頁面上,可以看到文字圖層的部分,不僅能讀到圖層名稱也包含文字內容和字型名稱。
{ "children": [ { "type": "layer", "visible": true, "opacity": 1, "blendingMode": "normal", "name": "Photoshop Text", "left": 302, "right": 723, "top": 90, "bottom": 128, "height": 38, "width": 421, "mask": {}, "text": { "value": "THIS IS TEXT LAYER", "font": { "name": "MyriadPro-Regular\u0000", "sizes": [ 53 ], "colors": [ [ 0, 0, 0, 255 ] ], "alignment": [ "center" ] }, "left": 0, "top": 0, "right": 0, "bottom": 0, "transform": { "xx": 1, "xy": 0, "yx": 0, "yy": 1, "tx": 513, "ty": 127 } }, "image": {} }, { "type": "layer", "visible": true, "opacity": 1, "blendingMode": "normal", "name": "PSD Icon", "left": 287, "right": 738, "top": 209, "bottom": 669, "height": 460, "width": 451, "mask": {}, "image": {} }, { "type": "layer", "visible": true, "opacity": 1, "blendingMode": "normal", "name": "Background", "left": 0, "right": 1024, "top": 0, "bottom": 800, "height": 800, "width": 1024, "mask": {}, "image": {} } ], "document": { "width": 1024, "height": 800, "resources": { "layerComps": [], "guides": [], "slices": [] } } }
http://edpill.cheap/# cheap ed drugs
Отличный сайт! Всем рекомендую!Купить диплом о высшем образовании
https://certifiedpharmacymexico.pro/# reputable mexican pharmacies online
buying prescription drugs in mexico buying prescription drugs in mexico mexican pharmaceuticals online
п»їlegitimate online pharmacies india top online pharmacy india reputable indian pharmacies
http://certifiedpharmacymexico.pro/# mexico pharmacies prescription drugs
best ed pill: best pill for ed – erectile dysfunction drug
https://edwithoutdoctorprescription.pro/# ed meds online without prescription or membership
https://canadianinternationalpharmacy.pro/# canada drug pharmacy
prescription drugs canada buy online ed pills without doctor prescription prescription drugs canada buy online
mexican border pharmacies shipping to usa medicine in mexico pharmacies mexico pharmacies prescription drugs
cheap erectile dysfunction: cheap erectile dysfunction pills online – best erectile dysfunction pills
https://medicinefromindia.store/# indianpharmacy com
http://edpill.cheap/# best ed treatment
buy prescription drugs without doctor prescription drugs online without doctor ed prescription drugs
indian pharmacy online top 10 online pharmacy in india indian pharmacies safe
https://medicinefromindia.store/# world pharmacy india
http://edpill.cheap/# cheap erectile dysfunction pills online
best ed pills non prescription: cheap erectile dysfunction pills – best over the counter ed pills
Отличный сайт! Всем рекомендую!1Купить диплом
buying prescription drugs in mexico: mexican pharmaceuticals online – buying prescription drugs in mexico
buy prescription drugs from india india online pharmacy indianpharmacy com
mexico drug stores pharmacies medication from mexico pharmacy mexican border pharmacies shipping to usa
http://edpill.cheap/# best ed treatment pills
best india pharmacy: buy medicines online in india – india pharmacy
brand gabapentin 600mg cheap neurontin online buy gabapentin 800mg without prescription
http://edpill.cheap/# ed treatments
purple pharmacy mexico price list: medication from mexico pharmacy – buying from online mexican pharmacy
http://edpill.cheap/# best male ed pills
canadian pharmacy sarasota precription drugs from canada pharmacy com canada