Tôi thấy điều này là có thể bằng cách sửa đổi jsPDF.js
để hiển thị phương thức addFont
hiện có trong API công khai.
Trong jsPDF.js
, tìm kiếm:
//---------------------------------------
// Public API
Thêm dòng sau:
API.addFont = function(postScriptName, fontName, fontStyle) {
addFont(postScriptName, fontName, fontStyle, 'StandardEncoding');
};
tôi đặt phương pháp này gần phương pháp phông chữ khác cho rõ ràng - API.setFont
, API.setFontSize
, API.setFontType
vv
Bây giờ trong mã của bạn, sử dụng:
doc.addFont('ComicSansMS', 'Comic Sans', 'normal');
doc.setFont('Comic Sans');
doc.text(50,50,'Hello World');
Điều này phù hợp với tôi với phông chữ phông chữ @ đi kèm với css trước khi tải jsPDF, cũng như phông chữ hệ thống. Có lẽ một cách tốt hơn để làm điều này bằng cách sử dụng khuôn khổ plugin của jsPDF, nhưng giải pháp nhanh chóng và dơ bẩn này ít nhất cũng giúp bạn đi.
Lưu ý rằng doc.getFontList()
sẽ không chương trình thêm phông chữ:
// TODO: iterate over fonts array or return copy of fontmap instead in case more are ever added.
Nguồn
2014-11-17 20:39:05
Cảm ơn đã gửi bài này. Tôi đã làm việc của bạn và ban hành một PR (https://github.com/MrRio/jsPDF/pull/475), mà vừa được sáp nhập vào chủ của jsPDF. Đây là: https://github.com/MrRio/jsPDF/blob/master/jspdf.js#L1595. Cảm ơn một lần nữa! –
Điều này không phù hợp với tôi với Google Fonts. Không có gì được thêm vào, không có lỗi nào được hiển thị. –
Tuy nhiên, lưu ý rằng phông chữ không bao giờ được nhúng vào bản pdf nhưng đọc từ kho phông chữ của trình duyệt. Nếu bạn cố gắng lưu pdf, các phần bằng phông chữ tùy chỉnh sẽ ẩn. –