defineFont
Defines a map with locations for TrueType Font (.ttf) files. It is safe to call this method multiple times.
The exportPDF method will use the font files when embedding them in a PDF document.
Since Kendo UI 2014 Q3 SP1, the Kendo UI PDF generator is able to dig CSS @font-face declarations directly from the stylesheets. "Manually" calling the pdf.defineFont()
method is no longer necessary. For more information how to embed fonts using CSS at-rules - check this section. This will work only if the style sheet and fonts are loaded from the same domain.
Fonts must be loaded from the same origin or CORS-enabled.
Parameters
map Object
A map for font names, variants and the location of its .ttf file.
- The key is the font name. Optional variants are separated with a pipe symbol.
- The value is the TrueType Font (.ttf) file URL.
Example - Define font locations for embedding
<script>
// Import DejaVu Sans font for embedding. WebComponentsIcons is the font used for the Kendo font icons only
kendo.pdf.defineFont({
"DejaVu Sans" : "https://kendo.cdn.telerik.com/2023.1.117/styles/fonts/DejaVu/DejaVuSans.ttf",
"DejaVu Sans|Bold" : "https://kendo.cdn.telerik.com/2023.1.117/styles/fonts/DejaVu/DejaVuSans-Bold.ttf",
"DejaVu Sans|Bold|Italic" : "https://kendo.cdn.telerik.com/2023.1.117/styles/fonts/DejaVu/DejaVuSans-Oblique.ttf",
"DejaVu Sans|Italic" : "https://kendo.cdn.telerik.com/2023.1.117/styles/fonts/DejaVu/DejaVuSans-Oblique.ttf",
"WebComponentsIcons" : "https://kendo.cdn.telerik.com/2023.1.117/styles/fonts/glyphs/WebComponentsIcons.ttf"
});
</script>
<script>
var draw = kendo.drawing;
var geom = kendo.geometry;
var text = new draw.Text(
"Lorem ípsum dolor sit amét, pro éu facilis vulputáte témporibus.",
[20, 20], {
font: "14px 'DejaVu Sans', Arial, sans-serif"
});
var root = new draw.Group();
root.append(text);
draw.exportPDF(root, { paperSize: "A5", landscape: true }).done(function(data) {
kendo.saveAs({
dataURI: data,
fileName: "dejavu.pdf"
});
});
</script>