Metadaten abrufen | API-Lösung für JavaScript

Wie lese ich die Schriftmetadaten aus der Tabelle „Name“?

Mit der Funktion AsposeFontGetInfo können Sie Datensätze aus der Tabelle „Name“ der TrueType- oder OpenType-Schriftart lesen.

Die entsprechenden Aufzählungen werden verwendet, um jeden Wert des Datensatzes aus dem Array anzugeben. Die Funktion gibt Namen dieser Aufzählungen zurück.

Also, TtfNameTableNameId und TtfNameTablePlatformId werden für „nameId“ und „platformId“ verwendet,

TtfNameTableMacPlatformSpecificId, TtfNameTableMSPlatformSpecificId, oder TtfNameTableUnicodePlatformSpecificId für „platformSpecificId“ und

TtfNameTableMacLanguageId, oder TtfNameTableMSLanguageId für „LanguageId“-Werte.

Beispiele für das Abrufen von Metadaten

  1. Erstellen Sie einen „FileReader“.
  2. Führen Sie die Funktion AsposeFontGetInfo aus.
  3. Als nächstes können Sie die Ergebnisdaten abrufen, wenn der „json.errorCode“ 0 ist. Wenn der Parameter „json.errorCode“ ungleich 0 ist und dementsprechend ein Fehler in Ihrer Datei vorliegt, sind Informationen über einen solchen Fehler im „json.errorText“ enthalten.
  4. Das resultierende JSON-Objekt enthält das Array „records“. Jeder Datensatz enthält die Felder „NameId“, „PlatformId“, „PlatformSpecificId“, „LanguageId“ und „Info“ mit Informationen aus der Schriftartentabelle „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  }

oder mit 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>

Wie bekomme ich die Lösung?

Wenn Sie die Bibliothek haben möchten, gehen Sie zu Aspose.Font für JavaScript-Produktseite. Dort finden Sie weitere Möglichkeiten, die Ihnen die Lösung bietet. Sie können eine kostenlose Testversion herunterladen oder das Produkt dort kaufen.

Wenn Sie noch Probleme oder Fragen haben, können Sie diese gerne im Abschnitt Aspose.Font.Product Family des Free Support Forum posten und sich innerhalb weniger Stunden an unser Support-Team wenden werde alles für dich klären.

Sehen Sie sich auch unsere plattformübergreifende Anwendung Font Metadata an, um die Funktionalität und die Art und Weise, wie API zum Erstellen Ihrer eigenen App verwendet werden kann, vollständig zu verstehen.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.