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

  1. Cree un ‘Lector de archivos’.
  2. Ejecute la función AsposeFontGetInfo.
  3. A continuación, si json.errorCode es 0, puede obtener los datos del resultado. Si el parámetro json.errorCode no es igual a 0 y, en consecuencia, habrá un error en su archivo, entonces la información sobre dicho error estará contenida en json.errorText.
  4. 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 fuente 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  }

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.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.