2016-05-26 54 views
1

我有这个JS,我会不喜欢使用这个js(与pdfmake制造)生成PDF与iframe标签pdfmake

function start(){ 
    var docDefinition = { 
    content: [ 
    { 
     table: { 
     multiple pages 

     headerRows: 1, 
     widths: [ '*', 'auto', 100, '*' ], 

     body: [ 
      [ 'First', 'Second', 'Third', 'The last one' ], 
      [ 'Value 1', 'Value 2', 'Value 3', 'Value 4' ], 
      [ { text: 'Bold value', bold: true }, 'Val 2', 'Val 3', 'Val 4' ] 
     ] 
     } 
    } 
    ] 
    }; 

    pdfMake.createPdf(docDefinition).open(); 

} 

显示PDF在此iframe的iframe标记生成PDF:

<frameset cols="25%,*,25%"> 
     <frame src=""> 
    </frameset> 

当我点击这个按钮:

<button type="submit" name="save" class="btn btn-default" onclick="start();">Savw</button> 

感谢。

回答

2

我想我的设置稍有不同,但试试这个 - 类似的工作对我来说。

首先,穿上<frame src="" id="foo">一个id然后更换

// pdfMake.createPdf(docDefinition).open(); 
var doc = pdfMake.createPdf(docDefinition); 
var f = document.getElementById('foo'); 
var callback = function(url) { f.setAttribute('src',url); } 
doc.getDataUrl(callback, doc); 

的getDataUrl函数运行与生成的URL作为参数的回调函数。该回调应该在你的框架上设置src属性。我的回调还包括console.log(url);,所以我可以看到发生了什么。