相关疑难解决方法(0)

列出用户浏览器可以显示的每种字体

有没有办法在javascript中获取浏览器可以显示的所有字体(或字体系列)的名称?(我想给用户一个下拉列表,其中包含所有可用字体的列表,并允许用户选择字体.)我不希望提前对此列表进行硬编码或从服务器发送.(直观地说,似乎浏览器应该知道它有什么字体,这应该以某种方式暴露给javascript.)

javascript css browser fonts

84
推荐指数
8
解决办法
5万
查看次数

使用pdf.js和ImageData将.pdf渲染为单个Canvas

我试图使用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 getimagedata html5-canvas putimagedata pdf.js

12
推荐指数
2
解决办法
3万
查看次数