Définition des métadonnées | Solution API pour JavaScript

Comment définir les métadonnées de la police dans la table « nom » ?

Vous pouvez ajouter ou modifier des informations de métadonnées à l’aide de la fonction AsposeFontSetInfo.

Le paramètre nameId définit la catégorie de chaîne logique pour un enregistrement. Les paramètres platformId, platformSpecificId et lingualId sont utilisés pour définir la langue de la chaîne. Et le dernier paramètre « texte » est utilisé pour définir les données de chaîne pour un enregistrement.

Si l’enregistrement coïncide avec celui ajouté par les paramètres platformID, platformSpecificID, langueID et nameID existe déjà, la méthode n’ajoute pas de nouvel enregistrement, mais met à jour les données de chaîne dans l’enregistrement existant en utilisant la valeur , défini par le paramètre text.

Exemples de définition de métadonnées

  1. Créez un « FileReader ».
  2. Définissez les paramètres et exécutez la fonction AsposeFontSetInfo.

Utilisez enum TtfNameTableNameId et TtfNameTablePlatformIdpour nameId et platformId,

TtfNameTableMacPlatformSpecificId, TtfNameTableMSPlatformSpecificId, ou TtfNameTableUnicodePlatformSpecificId pour platformSpecificId, et

TtfNameTableMacLanguageId, ou TtfNameTableMSLanguageId pour les paramètres langageId.

  1. 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.
  2. L’objet json résultant contient le champ fileNameResult avec le nom de fichier de la police enregistrée dans le système de fichiers en mémoire. Utilisez la fonction DownloadFile pour l’obtenir.
 1  var fFontSetInfo = function (e) {
 2    const file_reader = new FileReader();
 3    file_reader.onload = (event) => {
 4
 5      const nameId = new Function("return Module.TtfNameTableNameId." + document.getElementById("NameId").value)();
 6      const platformId = Module.TtfNameTablePlatformId.Microsoft;
 7      const platformSpecificId = Module.TtfNameTableMSPlatformSpecificId.Unicode_BMP_UCS2.value;
 8      const text = document.getElementById("textValue").value;
 9      const langID = 1033;
10
11      const json = AsposeFontSetInfo(blob, file.name, nameId, platformId, platformSpecificId, langID, text);
12      if (json.errorCode == 0) {
13        DownloadFile(json.fileNameResult);
14        //DownloadFile(file.name);
15      }
16      else document.getElementById('output').textContent = json.errorText;
17    }
18    file_reader.readAsArrayBuffer(file);

ou en utilisant Web Worker :

 1<script type="text/javascript">
 2  /*Create Web Worker*/
 3  const AsposeFontWebWorker = new Worker("AsposeFontforJS.js");
 4  AsposeFontWebWorker.onerror = (evt) => console.log(`Error from Web Worker: ${evt.message}`);
 5  AsposeFontWebWorker.onmessage = (evt) => document.getElementById("output").textContent =
 6    (evt.data == 'ready') ? 'library loaded!' :
 7    (evt.data.json.errorCode == 0) ? `Result:\n${DownloadFile(evt.data.json.fileNameResult, "font/ttf", evt.data.params[0])}` : `Error: ${evt.data.json.errorText}`;
 8 
 9 /*Event handler*/
10  const ffileFontSetInfo = e => {
11    const file_reader = new FileReader();
12    file_reader.onload = event => {
13          const nameId = 'Module.TtfNameTableNameId.' + document.getElementById("NameId").value;
14          //Value will be changed for PlatformId = PlatformId.Microsoft, PlatformSpecificId = MSPlatformSpecificId.Unicode_BMP_UCS2 (1) and languageID = 1033 (English_United_States = 0x0409)
15          const platformId = 'Module.TtfNameTablePlatformId.Microsoft';
16          const platformSpecificId = 'Module.TtfNameTableMSPlatformSpecificId.Unicode_BMP_UCS2';
17          const langID = 'Module.TtfNameTableMSLanguageId.English_United_States';
18          const text = document.getElementById("textValue").value;
19          transfer = [event.target.result];
20          params = [event.target.result, e.target.files[0].name, nameId, platformId, platformSpecificId, langID, text];
21      AsposeFontWebWorker.postMessage({ "operation": 'AsposeFontSetInfo', "params": params }, transfer);
22    };
23    file_reader.readAsArrayBuffer(e.target.files[0]);
24  };
25</script>

Comment obtenir la solution ?

Si vous souhaitez obtenir 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.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.