首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JSPDF -只是页面的一部分

JSPDF -只是页面的一部分
EN

Stack Overflow用户
提问于 2014-10-15 18:11:18
回答 2查看 3K关注 0票数 1

我正在尝试使用库jsPDF将DIV的内容导出到PDF中。

问题是,当我尝试导出div的内容时,我在pdf中看到的只是div实际内容的一部分,并且没有我想要导出的所有文档。

代码如下:

代码语言:javascript
运行
复制
// Javascript
function pdf() {
        var doc = new jsPDF('p', 'in', 'letter');
        var specialElementHandlers = {
            '#ricercaChat': function (element, renderer) {
                return true;
            }
        };
        doc.fromHTML($("#ricercaChat").html(), 15, 15, {
                'width':170,
                'elementHandlers': specialElementHandlers
        });
        doc.save('role.pdf');
    }

//HTML
<a href="#" onclick="pdf()"><img src="immagini/pdf1.png"></a>
<div id="ricercaChat" width="100%">  
...( html loaded with jQuery.load that is another page )</div>

我尝试在下面的代码中修改函数:

代码语言:javascript
运行
复制
var htmlall = document.getElementById('ricercaChat').innerHTML; // there is ALL the html content
doc.fromHTML(htmlall, 15, 15, { ...

在这种模式下,pdf是完全空白的。

我该如何解决这个问题?非常感谢

EN

回答 2

Stack Overflow用户

发布于 2014-11-07 20:44:27

问题出在这段代码上:

代码语言:javascript
运行
复制
var specialElementHandlers = {
    '#ricercaChat': function (element, renderer) {
        return true;
    }
};

它所做的是,它告诉jsPDF在生成pdf时忽略"#ricercaChat“中的内容。因此你会得到一个空白的pdf。您可以在没有specialElementHandlers的情况下简单地生成:

代码语言:javascript
运行
复制
doc.fromHTML($("#ricercaChat").html(), 15, 15);
票数 3
EN

Stack Overflow用户

发布于 2014-10-15 18:33:03

试试这个(从html创建一个图像):

代码语言:javascript
运行
复制
// Javascript
function pdf() {
     var canvas = document.getElementById('ricercaChat');
     // save canvas image as data url (png format by default)
     var dataURL = canvas.toDataURL();

     var imgData = dataURL;

     var doc = new jsPDF();
     doc.addImage(imgData, 'JPEG', 15, 40);

     doc.save('role.pdf');
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26379914

复制
相关文章

相似问题

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