有没有办法在javascript中获取浏览器可以显示的所有字体(或字体系列)的名称?(我想给用户一个下拉列表,其中包含所有可用字体的列表,并允许用户选择字体.)我不希望提前对此列表进行硬编码或从服务器发送.(直观地说,似乎浏览器应该知道它有什么字体,这应该以某种方式暴露给javascript.)
我试图使用PDF.js读取整个.pdf文档,然后在单个画布上渲染所有页面.
我的想法:将每个页面渲染到画布上并获取ImageData(context.getImageData()),清除画布做下一页.我将所有ImageDatas存储在一个数组中,一旦所有页面都在那里,我想将数组中的所有ImageDatas放到一个画布上.
var pdf = null;
PDFJS.disableWorker = true;
var pages = new Array();
//Prepare some things
var canvas = document.getElementById('cv');
var context = canvas.getContext('2d');
var scale = 1.5;
PDFJS.getDocument(url).then(function getPdfHelloWorld(_pdf) {
pdf = _pdf;
//Render all the pages on a single canvas
for(var i = 1; i <= pdf.numPages; i ++){
pdf.getPage(i).then(function getPage(page){
var viewport = page.getViewport(scale);
canvas.width = viewport.width;
canvas.height = viewport.height;
page.render({canvasContext: context, viewport: viewport});
pages[i-1] = context.getImageData(0, 0, canvas.width, canvas.height);
context.clearRect(0, 0, canvas.width, canvas.height);
p.Out("pre-rendered page …
Run Code Online (Sandbox Code Playgroud) javascript ×2
browser ×1
css ×1
fonts ×1
getimagedata ×1
html5-canvas ×1
pdf.js ×1
putimagedata ×1