透過網頁讀取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...

21,575 Responses

  1. FrancisGeamp表示:

    Erling Haaland https://manchester-city.erling-haaland-ar.com born on July 21, 2000 in Leeds, England, began his football journey at an early age.

  2. Ronaldnob表示:

    Brazilian footballer Neymar https://al-hilal.neymar-ar.com known for his unique playing style and outstanding achievements in world football, has made a surprise move to Al Hilal Football Club.

  3. Jamesamoff表示:

    Harry Kane https://bayern.harry-kane-ar.com one of the most prominent English footballers of his generation, completed his move to German football club Bayern Munich in 2023.

  4. Diplomi_nwEa表示:

    Добрый день!
    Купить документ о получении высшего образования вы сможете у нас в Москве.
    diplomyx24.ru/kupit-diplom-sankt-peterburg

  5. Diplomi_ztEa表示:

    Привет, друзья!
    Купить документ института можно в нашем сервисе.
    diplomyx.com/kupit-diplom-sankt-peterburg

  6. Qazrnvq表示:

    Привет!
    Парадокс, но купить диплом кандидата наук оказалось не так и сложно.
    Купить диплом любого университета.
    intgez.com/read-blog/42433

  7. Qazrmmx表示:

    Привет, друзья!
    Как получить диплом стоматолога быстро и официально.
    Купить диплом о высшем образовании.
    new-business-for-business.mn.co/posts/61838306

  8. Mazrssg表示:

    Здравствуйте!
    Официальная покупка аттестата о среднем образовании в Москве и других городах
    http://www.thepatronway.com/%D0%BA%D1%83%D0%BF%D0%B8%D1%82%D1%8C-%D0%B4%D0%B8%D0%BF%D0%BB%D0%BE%D0%BC-%D0%BC%D0%B3%D0%B3%D1%83-%D0%B8%D0%BB%D0%B8-%D0%BB%D1%8E%D0%B1%D0%BE%D0%B3%D0%BE-%D0%B2%D1%83%D0%B7%D0%B0-%D1%80%D0%BE%D1%81/

  9. Mazrqtm表示:

    Привет, друзья!
    Пошаговая инструкция по безопасной покупке диплома о высшем образовании
    lanouvellemine.fr/%D0%BA%D1%83%D0%BF%D0%B8%D1%82%D1%8C-%D0%B4%D0%B8%D0%BF%D0%BB%D0%BE%D0%BC-%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D0%B8%D0%B1%D0%B8%D1%80%D1%81%D0%BA/

  10. En iyi kumarhaneyi tavsiye ederim Sweet bonanza

  11. Lazrhir表示:

    Привет, друзья!
    Где приобрести диплом по нужной специальности?
    Приобрести диплом любого ВУЗа.
    elviraobol.ru/cb-profile/pluginclass/cbblogs?action=blogs&func=show&id=563

  12. Lazrgsi表示:

    Привет, друзья!
    Мы изготавливаем дипломы любой профессии по приятным ценам.
    datafornix.com/%D0%B3%D0%BE%D1%81%D0%B7%D0%BD%D0%B0%D0%BA-%D0%B4%D0%B8%D0%BF%D0%BB%D0%BE%D0%BC-%D0%BA%D1%83%D0%BF%D0%B8%D1%82%D1%8C/

  13. Iarioruln表示:

    Купить диплом о среднем образовании в Москве и любом другом городе
    http://www.pitomec.ru/forum/post/12960

  14. Iariormbp表示:

    Полезные советы по безопасной покупке диплома о высшем образовании
    gadjetforyou.ru/kak-poluchit-diplom-bez-lishnih-hlopot

  15. GeorgeWHabs表示:

    Yacine Bounou https://al-hilal.yassine-bounou-ar.com known simply as Bono, is one of the most prominent Moroccan footballers of our time.

  16. Sazrcoc表示:

    Здравствуйте!
    Легальные способы покупки диплома о среднем полном образовании
    http://www.battle-station.com/viewtopic.php?f=86&t=75790
    Всегда вам поможем!.

  17. Xazrbtl表示:

    Добрый день!
    Пошаговая инструкция по безопасной покупке диплома о высшем образовании
    arusak-diploms-srednee.ru/kupit-diplom-v-krasnodare  
    Успешной учебы!

  18. Xazrzeo表示:

    Добрый день!
    Как избежать рисков при покупке диплома колледжа или ПТУ в России
    landik-diploms-srednee.ru/kupit-diplom-v-voronezhe  
    Хорошей учебы!

  19. Cazrncv表示:

    Здравствуйте!
    Мы можем предложить документы техникумов, которые находятся в любом регионе России. Можно приобрести диплом от любого заведения, за любой год, указав актуальную специальность и хорошие оценки за все дисциплины. Документы выпускаются на бумаге самого высокого качества. Это дает возможности делать государственные дипломы, не отличимые от оригинала. Документы будут заверены всеми необходимыми печатями и штампами.
    deris.by/news/blogs/1/vygodnye-rastsenki-i-idealnoe-kachestvo-diplomy-onlayn.php

  20. Cazrrww表示:

    Привет, друзья!
    Мы готовы предложить документы ВУЗов, которые расположены в любом регионе Российской Федерации. Можно купить диплом от любого заведения, за любой год, включая сюда документы СССР. Документы выпускаются на “правильной” бумаге высшего качества. Это дает возможности делать государственные дипломы, не отличимые от оригиналов. Документы заверяются необходимыми печатями и штампами.
    laziofansclub.com/read-blog/1377

  21. Xazrdeh表示:

    Здравствуйте!
    Официальная покупка диплома вуза с сокращенной программой в Москве
    arusak-diploms-srednee.ru/kupit-diplom-magistra  
    Успехов в учебе!

  22. Cazryep表示:

    Привет!
    Мы можем предложить документы ВУЗов, которые расположены в любом регионе России. Можно приобрести качественный диплом от любого учебного заведения, за любой год, включая сюда документы старого образца. Дипломы и аттестаты печатаются на бумаге самого высокого качества. Это позволяет делать государственные дипломы, не отличимые от оригиналов. Документы будут заверены необходимыми печатями и штампами.
    kingasteroid.com/blogs/285/%D0%91%D1%8B%D1%81%D1%82%D1%80%D0%BE-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D0%B5%D0%BC-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-%D0%B2-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5-Russian-Diplom

  23. Robertuttew表示:

    Andreson Souza Conceicao https://al-nassr.talisca-ar.com known as Talisca, is one of the brightest stars of modern football.

  24. Marcelocaw表示:

    The story of Leo Messi https://inter-miami.lionelmessi.ae‘s transfer to Inter Miami began long before the official announcement. Rumors about Messi’s possible departure from Barcelona appeared in 2020

發佈留言

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