Встраивание собственного шрифта woff2 в pdfkitHtml

Программисты Html
Ответить
Anonymous
 Встраивание собственного шрифта woff2 в pdfkit

Сообщение Anonymous »

Я просмотрел здесь несколько сообщений о pdfkit и встраивании шрифтов, но большинство из них, похоже, используют версию Node или Ruby/что-то, что сильно отличается от того, что я делаю.
У меня все, кроме шрифтов, работает как положено. Однако, когда я включаю собственный шрифт, текст не появляется. Я вижу заполнители и маркеры для списков, но кроме этого ничего.

Код: Выделить всё






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

};








Я пробовал несколько разных методов, но, похоже, больше всего мне помогает CSS, который я не понимаю, как можно здесь использовать. К сожалению, я не могу загрузить шрифт в свою файловую систему, чтобы использовать его, поскольку сайт, на котором я его создаю, по какой-то причине блокирует загрузку шрифтов. Вот почему я выбрал шрифты Google, так как не столкнулся с проблемами CORS.
Я напрямую связался с файлом woff2, поскольку получение буфера массива с использованием любого из других методов, рекомендованных Google, похоже, не работает. В качестве примечания я буду использовать как латинские, так и кириллические символы, поэтому это может быть проблемой, поскольку они представляют собой отдельные наборы символов.
Вот откуда я брал ссылки
https://fonts.googleapis.com/css2?famil ... splay=swap
Кроме того, когда я пытаюсь открыть PDF-файл, я получаю эту ошибку
Невозможно извлечь встроенный шрифт 'BZZZZZ+БакланГарамонд-Обычный'. Некоторые символы могут отображаться или печататься неправильно.
Когда я смотрю на зарегистрированные шрифты в PDF-файле, кажется, что они показывают, как они отображаются для других шрифтов
Изображение

Есть ли какой-нибудь другой способ зарегистрировать этот шрифт в документе?

Подробнее здесь: https://stackoverflow.com/questions/666 ... -in-pdfkit
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»