Einbetten einer benutzerdefinierten Woff2-Schriftart in PDFKitHTML

HTML-Programmierer
Anonymous
 Einbetten einer benutzerdefinierten Woff2-Schriftart in PDFKit

Post by Anonymous »

Ich habe mir hier ein paar Beiträge über pdfkit und das Einbetten von Schriftarten angesehen, aber die meisten scheinen die Node-Version oder Ruby zu verwenden / etwas, das ganz anders aussieht als das, was ich mache.
Ich habe alles außer den Schriftarten, die wie erwartet funktionieren. Wenn ich jedoch eine benutzerdefinierte Schriftart aktiviere, wird kein Text angezeigt. Ich sehe Platzhalter und Aufzählungspunkte für Listen, aber ansonsten nichts.

Code: Select all






//getting the arraybuffer of the font I need
var xhr = new XMLHttpRequest;
xhr.onload = function() {
console.log("Font IS 1",xhr.response)
};

xhr.responseType = 'arraybuffer';
xhr.open('GET', 'https://fonts.gstatic.com/s/cormorantgaramond/v9/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2', true);
xhr.send();

//wix method that starts when a UI element is called.  In this case a "download" button
window.onmessage = (event) => {
if (event.data) {

// create a document and pipe to a blob
var doc = new PDFDocument();
var stream = doc.pipe(blobStream());

doc.font(xhr.response)
//The standard way of setting a font for embedded
//doc.font('Helvetica')

doc.fontSize(20)
doc.text('Стартовая Страница',200,120)
doc.text('Test',200,220)
doc.list(['Стартовая Страница'],50,50)
doc.list(['TestList'],50,400)

// end and display the document in the iframe to the right
doc.end();
stream.on('finish', function() {
const blob = stream.toBlob('application/pdf')
const a = document.createElement('a');
a.href = window.URL.createObjectURL(blob);
a.download = "ShoppingList";
a.style.position = 'fixed';
a.target = '_blank';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
});
});

};








Ich habe verschiedene Methoden ausprobiert, aber die meiste Hilfe scheint CSS vorzuschlagen, das ich hier nicht verwenden kann. Leider kann ich eine Schriftart nicht in mein eigenes Dateisystem hochladen, um sie zu verwenden, da die Site, auf der ich sie erstelle, aus irgendeinem Grund das Hochladen von Schriftarten blockiert. Aus diesem Grund habe ich mich für die Google-Schriftarten entschieden, da bei mir keine CORS-Probleme aufgetreten sind.
Ich habe direkt auf die woff2-Datei verlinkt, da das Abrufen eines Arraybuffers mit einer der anderen von Google empfohlenen Methoden nicht zu funktionieren scheint. Bitte beachten Sie, dass ich sowohl lateinische als auch kyrillische Zeichen verwenden werde, sodass dies möglicherweise ein Problem darstellt, da es sich anscheinend um separate Zeichensätze handelt
Hier habe ich die Links erhalten
https://fonts.googleapis.com/css2?famil ... splay=swap
Auch wenn ich versuche, das PDF zu öffnen, erhalte ich diese Fehlermeldung
Die eingebettete Schriftart kann nicht extrahiert werden „BZZZZZ+CormorantGaramond-Regular“. Einige Zeichen werden möglicherweise nicht richtig angezeigt oder gedruckt.
Wenn ich mir die registrierten Schriftarten im PDF ansehe, scheint es zu zeigen, wie es für andere Schriftarten angezeigt wird.
Image

Gibt es eine andere Möglichkeit, diese Schriftart im Dokument zu registrieren?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post