Отримання метаданих | Рішення API для JavaScript
Як прочитати метадані шрифту з таблиці ’name'?
Ви можете читати записи з таблиці «імен» шрифту TrueType або OpenType за допомогою функції AsposeFontGetInfo.
Відповідні перерахування використовуються для позначення кожного значення запису з масиву. Функція повертає назви цих переліків.
Отже,
TtfNameTableNameId і
TtfNameTablePlatformId використовуються для nameId
та platformId
,
TtfNameTableMacPlatformSpecificId,
TtfNameTableMSPlatformSpecificId або
TtfNameTableUnicodePlatformSpecificId для platformSpecificId
і
TtfNameTableMacLanguageId або
TtfNameTableMSLanguageId для значень languageId
.
Приклади отримання метаданих
- Створіть «FileReader».
- Запустіть функцію AsposeFontGetInfo.
- Далі, якщо
json.errorCode
дорівнює 0, ви можете отримати дані результату. Якщо параметрjson.errorCode
не дорівнює 0 і, відповідно, у вашому файлі буде помилка, то інформація про таку помилку буде міститися вjson.errorText
. - Отриманий 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 для створення власної програми.