Obtener metadatos | Solución API para JavaScript
¿Cómo leer los metadatos de fuentes de la tabla ’nombre'?
Puede leer registros de la tabla ’nombre’ de la fuente TrueType u OpenType usando la función AsposeFontGetInfo.
Las enumeraciones correspondientes se utilizan para indicar cada valor del registro de la matriz. La función devuelve nombres de estas enumeraciones.
Entonces,
TtfNameTableNameId y
TtfNameTablePlatformId se utilizan para nameId
y platformId
,
TtfNameTableMacPlatformSpecificId,
TtfNameTableMSPlatformSpecificId, o
TtfNameTableUnicodePlatformSpecificId para platformSpecificId
, y
TtfNameTableMacLanguageId, o
TtfNameTableMSLanguageId para los valores de languageId
.
Ejemplos de obtención de metadatos
- Cree un ‘Lector de archivos’.
- Ejecute la función AsposeFontGetInfo.
- A continuación, si
json.errorCode
es 0, puede obtener los datos del resultado. Si el parámetrojson.errorCode
no es igual a 0 y, en consecuencia, habrá un error en su archivo, entonces la información sobre dicho error estará contenida enjson.errorText
. - El objeto json resultante contiene una matriz de “registros”. Cada registro contiene los campos
NameId
,PlatformId
,PlatformSpecificId
,LanguageId
,Info
con información de la tabla de fuentename
.
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 }
o usando 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>
¿Cómo conseguir la solución?
Si desea tener la biblioteca, vaya a Aspose.Font para la página del producto JavaScript. Allí encontrarás más oportunidades que te brinda la solución. Puede descargar una prueba gratuita o comprar el producto allí.
Si le quedan problemas o preguntas, no dude en publicarlas en la sección Aspose.Font.Product Family del Foro de soporte gratuito y dentro de unas horas nuestro equipo de soporte te aclarará todo.
Además, consulte nuestra aplicación multiplataforma Metadatos de fuente para comprender completamente la funcionalidad y la forma en que se puede utilizar la API para crear su propia aplicación.