首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图像和PDFMake

图像和PDFMake
EN

Stack Overflow用户
提问于 2016-06-06 22:47:34
回答 1查看 17.1K关注 0票数 3

我目前正在使用pdfmake生成项目报告pdf的给定信息,我在显示图像时遇到了一些问题。

我有一个生成pdfmake "object“的函数,如下所示:

代码语言:javascript
复制
function singleProject(data) {
    return {
        text: "Project: \n" + data.title + \n\nImage: \n",
        pageBreak: 'before'
    }
}

我想在该报告中添加一个图像,并给出一个图像URL (类似于"images/sample_image.jpg"),根据我在其他答案上读到的内容,我必须将其转换为base64格式。

其中一个函数是在另一个答案中提供的,但我不太清楚该如何使用它:

代码语言:javascript
复制
function convertImgToBase64URL(url, callback, outputFormat){
    var canvas = document.createElement('CANVAS'),
        ctx = canvas.getContext('2d'),
        img = new Image;
    img.crossOrigin = 'Anonymous';
    img.onload = function(){
        var dataURL;
        canvas.height = img.height;
        canvas.width = img.width;
        ctx.drawImage(img, 0, 0);
        dataURL = canvas.toDataURL(outputFormat);
        callback(dataURL);
        canvas = null;
    };
    img.src = url;
}

但是,我不太确定应该如何使用此函数将图像添加到提供的第一个函数中,因为它不返回dataURL;如果我尝试执行以下操作:

代码语言:javascript
复制
function singleProject(data) {
    return {
        text: "Project: \n" + data.title + \n\nImage: \n",
        image: convertImgToBase64URL(data.image), //data.image is the URL so something like "images/sample_image.jpg"
        width: 300,
        pageBreak: 'before'
    }
}

图像不显示。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-07 15:10:00

使用隐藏

代码语言:javascript
复制
<img id='imgToExport' src='someimageurl' style='display:none'/> 

以及在JavaScript中的使用

代码语言:javascript
复制
var imgToExport = document.getElementById('imgToExport');
var canvas = document.createElement('canvas');
        canvas.width = imgToExport.width; 
        canvas.height = imgToExport.height; 
        canvas.getContext('2d').drawImage(imgToExport, 0, 0);
  canvas.toDataURL('image/png')

这样你就不需要异步调用了

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37660416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档