Obtendo metadados | Solução da API para JavaScript
Como ler os metadados da fonte da tabela ‘Name’?
Você pode ler registros da tabela ‘Name’ da fonte TrueType ou OpenType usando a função AsposeFontgetInfo.
As enumerações correspondentes são usadas para indicar cada valor do registro da matriz. A função retorna os nomes dessas enumerações.
Então,
ttfninetableNameId e
Ttfninetableplatformid são usados para nameid
e platafortID
,
TtfninetableMacplatformSpecificid,
TtfninetablemsplatformSpecificid, ou
Ttfninetableunicodeplatformpecificid para plataformspecificid
e
TtfninetableMaclaguageId, ou
TtfninetablemslanguageId para valores de idioma
.
Exemplos de obter metadados
- Crie um ‘fileReader’.
- Execute a função AsposeFontgetInfo.
- Em seguida, se o
json.errorcode
for 0, você poderá obter os dados de resultado. Se o parâmetrojson.errorcode
não for igual a 0 e, portanto, haverá um erro no seu arquivo, as informações sobre esse erro estarão contidas nojson.errorText
. - O objeto JSON resultante contém a matriz
registros
. O registro contém camposnameid
,plataformid
,plataformSpecificid
,idioma
infocom informações da tabelaname
t ‘da fonte.
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 usando o 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>
Como obter a solução?
Se você deseja ter a biblioteca, vá para Aspose.Font para JavaScript Product Page. Lá você encontrará mais oportunidades que a solução oferece. Você pode baixar uma avaliação gratuita ou comprar o produto lá.
Se você tiver problemas ou perguntas, sinta -se à vontade para publicá -los na seção Aspose.Font.Product Family do Fórum de Suporte Free e em poucas horas nossa equipe de suporte limpará tudo para você.
Além disso, verifique nosso aplicativo Font Metadata de plataforma cruzada para entender completamente a funcionalidade e a maneira como a API pode ser usada para criar seu próprio aplicativo.