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
- Créez un « FileReader ».
- 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
.
- 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 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.