jsPDF从.html创建PDF并在新窗口中打开

时间:2014-10-06 16:55:59

标签: html pdf window pdf-generation jspdf

我正在尝试使用jsPDF将.html文件转换为PDF,然后在新窗口中打开它。

我像这样跪下PDF:

function PDFFromHTML() {
    var doc = new jsPDF();

    // We'll make our own renderer to skip this editor
    var specialElementHandlers = {
            '#editor': function(element, renderer){
                    return true;
            }
    };

    // All units are in the set measurement for the document
    // This can be changed to "pt" (points), "mm" (Default), "cm", "in"
    doc.fromHTML('ticket.html', 15, 15, {
            'width': 170, 
            'elementHandlers': specialElementHandlers
    });
}

我需要像window.open这样的东西在新窗口中打开这个pdf文件,但我找不到这样做的方式。

此致

1 个答案:

答案 0 :(得分:3)

据我所知,除了直接查看codes和现有examples之外,API上没有太多文档。

我可以通过在output之后添加对doc.fromHTML(..) API的调用,在新窗口中打开PDF文件,并指定dataurlnewwindow这样的参数:

doc.output('dataurlnewwindow');

至于为什么doc.fromHTML('ticket.html')无法工作,再次提到codesource参数必须是:

  

HTML格式的字符串或对实际DOM元素的引用。

因此,您可能必须使用jquery $.get()方法加载ticket.html的内容。基本上,看起来像:

$.get('ticket.html', function(content){
    doc.fromHTML(content), 15, 15, {'width': 170, 'elementHandlers': specialElementHandlers});
    doc.output('dataurlnewwindow');
}, 'html');