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
- Créez un « FileReader ».
- Exécutez la fonction AsposeFontGetInfo.
- 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 dansjson.errorText
. - 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 policename
.
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.