Obtenir des métadonnées | Solution API pour JavaScript

Comment lire les métadonnées de police de la table « nom » ?

Vous pouvez lire les enregistrements de la table « nom » de la police TrueType ou OpenType à l’aide de la fonction AsposeFontGetInfo.

Les énumérations correspondantes sont utilisées pour indiquer chaque valeur d’enregistrement du tableau. La fonction renvoie les noms de ces énumérations.

Donc, TtfNameTableNameId et TtfNameTablePlatformId sont utilisés pour nameId et platformId,

TtfNameTableMacPlatformSpecificId, TtfNameTableMSPlatformSpecificId, ou TtfNameTableUnicodePlatformSpecificId pour platformSpecificId, et

TtfNameTableMacLanguageId, ou TtfNameTableMSLanguageId pour les valeurs langageId.

Exemples d’obtention de métadonnées

  1. Créez un « FileReader ».
  2. Exécutez la fonction AsposeFontGetInfo.
  3. Ensuite, si « json.errorCode » est 0, vous pouvez obtenir les données de résultat. Si le paramètre json.errorCode n’est pas égal à 0 et, par conséquent, il y aura une erreur dans votre fichier, alors les informations sur une telle erreur seront contenues dans json.errorText.
  4. L’objet json résultant contient un tableau « enregistrements ». Chaque enregistrement contient les champs NameId, PlatformId, PlatformSpecificId, LanguageId, Info avec les informations de la table de police 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  }

ou en utilisant 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>

Comment obtenir la solution ?

Si vous souhaitez disposer de la bibliothèque, accédez à la Page produit Aspose.Font for JavaScript. Vous y trouverez plus d’opportunités que la solution vous offre. Vous pouvez télécharger un essai gratuit ou acheter le produit ici.

S’il vous reste des problèmes ou des questions, n’hésitez pas à les publier dans la section Aspose.Font.Product Family du Free Support Forum et dans quelques heures, notre équipe d’assistance va tout clarifier pour vous.

Consultez également notre application multiplateforme Font Metadata pour comprendre pleinement les fonctionnalités et la manière dont l’API peut être utilisée pour créer votre propre application.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.