Получение метаданных | 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 содержит массив записей. Каждая запись содержит поля 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  }

или с помощью веб-воркера:

 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 for JavaScript. Там вы найдете больше возможностей, которые дает вам решение. Вы можете скачать бесплатную пробную версию или купить продукт там.

Если у вас остались какие-либо проблемы или вопросы, не стесняйтесь опубликовать их в разделе Aspose.Font.Product Family на Форуме бесплатной поддержки и в течение нескольких часов обратитесь в нашу службу поддержки. тебе все прояснит.

Кроме того, ознакомьтесь с нашим кроссплатформенным приложением Метаданные шрифта, чтобы полностью понять функциональность и способы использования API для создания собственного приложения.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.