Metadaten festlegen | API-Lösung für JavaScript

Wie lege ich die Schriftartmetadaten in die Tabelle „Name“ fest?

Mit der Funktion AsposeFontSetInfo können Sie Metadateninformationen hinzufügen oder ändern.

Der Parameter „nameId“ definiert die logische Zeichenfolgenkategorie für einen Datensatz. Die Parameter „platformId“, „platformSpecificId“ und „LanguageId“ werden verwendet, um die Sprache der Zeichenfolge festzulegen. Und der letzte Parameter „text“ wird verwendet, um Zeichenfolgendaten für einen Datensatz festzulegen.

Wenn der Datensatz mit dem hinzugefügten übereinstimmt, indem die Parameter „platformID“, „platformSpecificID“, „LanguageID“ und „NameID“ bereits vorhanden sind, fügt die Methode keinen neuen Datensatz hinzu, sondern aktualisiert die Zeichenfolgendaten im vorhandenen Datensatz mithilfe des Werts , definiert durch den Parameter „text“.

Beispiele für das Festlegen von Metadaten

  1. Erstellen Sie einen „FileReader“.
  2. Definieren Sie Parameter und führen Sie die Funktion AsposeFontSetInfo aus.

Verwenden Sie enum TtfNameTableNameId und TtfNameTablePlatformIdfür „nameId“ und „platformId“,

TtfNameTableMacPlatformSpecificId, TtfNameTableMSPlatformSpecificId, oder TtfNameTableUnicodePlatformSpecificId für „platformSpecificId“ und

TtfNameTableMacLanguageId, oder TtfNameTableMSLanguageId für „LanguageId“-Parameter.

  1. Wenn der „json.errorCode“ als Nächstes 0 ist, können Sie Ergebnisdaten abrufen. Wenn der Parameter „json.errorCode“ ungleich 0 ist und dementsprechend ein Fehler in Ihrer Datei vorliegt, sind Informationen über einen solchen Fehler im „json.errorText“ enthalten.

  2. Das resultierende JSON-Objekt enthält das Feld „fileNameResult“ mit dem Dateinamen der gespeicherten Schriftart im Speicherdateisystem. Verwenden Sie die DownloadFile-Funktion, um es abzurufen.

 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);

oder mit 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>

Wie bekomme ich die Lösung?

Wenn Sie daran interessiert sind, die Bibliothek zu erhalten, gehen Sie zur Aspose.Font for JavaScript-Produktseite. Dort finden Sie weitere Möglichkeiten, die Ihnen die Lösung bietet. Sie können eine kostenlose Testversion herunterladen oder das Produkt dort kaufen.

Wenn Sie noch Probleme oder Fragen haben, können Sie diese gerne im Abschnitt Aspose.Font.Product Family des Free Support Forum posten und sich innerhalb weniger Stunden an unser Support-Team wenden werde alles für dich klären.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.