透過網頁讀取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檔案對頁面進行測試,檔案中共有三個圖層,包含一個文字圖層。

頁面將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": []
    }
  }
}

You may also like...

46,816 Responses

  1. AlbertoHip表示:

    generic tadalafil: best price Cialis tablets – reliable online pharmacy Cialis

  2. AlbertoHip表示:

    buy modafinil online: doctor-reviewed advice – buy modafinil online

  3. LorenzoLiate表示:

    generic tadalafil secure checkout ED drugs order Cialis online no prescription

  4. JeremyMelty表示:

    generic tadalafil: discreet shipping ED pills – best price Cialis tablets

  5. RobertRef表示:

    secure checkout ED drugs: cheap Cialis online – Cialis without prescription

  6. RobertRef表示:

    same-day Viagra shipping: safe online pharmacy – same-day Viagra shipping

  7. RobertRef表示:

    buy generic Cialis online: generic tadalafil – affordable ED medication

  8. Ronaldpayon表示:

    http://modafinilmd.store/# verified Modafinil vendors

  9. JeremyMelty表示:

    purchase Modafinil without prescription: Modafinil for sale – doctor-reviewed advice

  10. Профессиональный сервисный центр по ремонту техники в Новосибирске.
    Мы предлагаем: Ремонт телевизоров KIVI
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  11. AlbertoHip表示:

    safe modafinil purchase: Modafinil for sale – purchase Modafinil without prescription

  12. Ronaldpayon表示:

    http://modafinilmd.store/# modafinil legality

  13. LorenzoLiate表示:

    cheap Viagra online buy generic Viagra online discreet shipping

  14. JeremyMelty表示:

    modafinil 2025: legal Modafinil purchase – modafinil 2025

  15. RobertRef表示:

    cheap Viagra online: buy generic Viagra online – buy generic Viagra online

  16. Ronaldpayon表示:

    http://maxviagramd.com/# no doctor visit required

  17. Ronaldpayon表示:

    https://modafinilmd.store/# verified Modafinil vendors

  18. AlbertoHip表示:

    Modafinil for sale: purchase Modafinil without prescription – modafinil 2025

  19. Ronaldpayon表示:

    https://maxviagramd.com/# legit Viagra online

  20. LorenzoLiate表示:

    FDA approved generic Cialis affordable ED medication best price Cialis tablets

  21. WileyHiz表示:

    1XBet is a premier gambling provider.
    With a wide range of matches, One X Bet meets the needs of millions globally.
    The 1XBet application is designed to suit both Android as well as iPhone players.
    http://dansermag.com/wp-content/pages/?kombinirovanieoboev.html
    Players are able to download the mobile version via their site or Google’s store on Android devices.
    Apple device owners, this software can be installed through the App Store with ease.

  22. JeremyMelty表示:

    generic sildenafil 100mg: same-day Viagra shipping – no doctor visit required

  23. RobertRef表示:

    FDA approved generic Cialis: generic tadalafil – secure checkout ED drugs

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。