Отримання метаданих | Рішення API для JavaScript

Як прочитати метадані шрифту з таблиці ’name'?

Ви можете читати записи з таблиці «імен» шрифту TrueType або OpenType за допомогою функції AsposeFontGetInfo.

Відповідні перерахування використовуються для позначення кожного значення запису з масиву. Функція повертає назви цих переліків.

Отже, TtfNameTableNameId і TtfNameTablePlatformId використовуються для nameId та platformId,

TtfNameTableMacPlatformSpecificId, TtfNameTableMSPlatformSpecificId або TtfNameTableUnicodePlatformSpecificId для platformSpecificId і

TtfNameTableMacLanguageId або TtfNameTableMSLanguageId для значень languageId.

Приклади отримання метаданих

  1. Створіть «FileReader».
  2. Запустіть функцію AsposeFontGetInfo.
  3. Далі, якщо json.errorCode дорівнює 0, ви можете отримати дані результату. Якщо параметр json.errorCode не дорівнює 0 і, відповідно, у вашому файлі буде помилка, то інформація про таку помилку буде міститися в json.errorText.
  4. Отриманий json-об’єкт містить масив records. Кожен запис містить поля NameId, PlatformId, PlatformSpecificId, LanguageId, Info з інформацією з таблиці name шрифту.
 1  var ffileFontGetInfo = function (e) {
 2    const file_reader = new FileReader();
 3    file_reader.onload = (event) => {
 4      const json = AsposeFontGetInfo(event.target.result, e.target.files[0].name);
 5      if (json.errorCode == 0) {
 6        document.getElementById('output').textContent = "Name records count: " + json.records.length;
 7        for (let recordIndex = 0; recordIndex < json.records.length; recordIndex++) 
 8			document.getElementById('output').textContent += " " + "\n"
 9													     + "NameId : " + json.records[recordIndex].NameId
10                                                         + ";  PlatformId : " + json.records[recordIndex].PlatformId
11                                                         + ";  PlatformSpecificId : " + json.records[recordIndex].PlatformSpecificId
12                                                         + ";  LanguageId : " + json.records[recordIndex].LanguageId
13                                                         + ";  Info : " + json.records[recordIndex].Info;
14      }
15      else document.getElementById('output').textContent = json.errorText;
16    }
17    file_reader.readAsArrayBuffer(e.target.files[0]);
18  }

або за допомогою Web Worker:

 1<script type="text/javascript">
 2
 3  /*Create Web Worker*/
 4  const AsposeFontWebWorker = new Worker("AsposeFontforJS.js");
 5  AsposeFontWebWorker.onerror = evt => console.log(`Error from Web Worker: ${evt.message}`);
 6  AsposeFontWebWorker.onmessage = evt => document.getElementById('output').textContent = 
 7    (evt.data == 'ready') ? 'loaded!' :
 8      (evt.data.json.errorCode == 0) ? "Name records count: " + evt.data.json.records.length + 
 9										evt.data.json.records.reduce((ret, a) => ret +
10										    "\nNameId : " + a.NameId
11						                  + "; PlatformId : " + a.PlatformId
12						                  + "; PlatformSpecificId : " + a.PlatformSpecificId
13						                  + "; LanguageId : " + a.LanguageId
14						                  + "; Info : " + a.Info,"") :
15        `Error: ${evt.data.json.errorText}`;
16
17  /*Event handler*/
18  var ffileFontGetInfo = function (e) {
19    const file_reader = new FileReader();
20    file_reader.onload = (event) => {
21      var transfer = [event.target.result];
22      var params = [event.target.result, e.target.files[0].name];
23      return AsposeFontWebWorker.postMessage({ "operation": "AsposeFontGetInfo", "params": params }, transfer);
24    }
25    file_reader.readAsArrayBuffer(e.target.files[0]);
26  }
27
28</script>

Як отримати рішення?

Якщо ви хочете мати бібліотеку, перейдіть на сторінку продукту Aspose.Font для JavaScript. Там ви знайдете більше можливостей, які надає вам рішення. Ви можете завантажити безкоштовну пробну версію або придбати продукт там.

Якщо у вас залишилися проблеми чи запитання, не соромтеся опублікувати їх у розділі Aspose.Font.Product Family Безкоштовного форуму підтримки і протягом кількох годин наша служба підтримки все прояснить для вас.

Також ознайомтеся з нашою кросплатформною програмою Метадані шрифтів, щоб повністю зрозуміти функціональність і спосіб використання API для створення власної програми.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.