2014-12-03 169 views
0

我试图从我的应用程序中导出表格到PDF文件!Intel-XDK + jsPDF

该工作在模拟器正常,但我无法保存,当应用程序被安装在我的Moto G的文件,我用波纹管代码:

var pdf = new jsPDF('p', 'pt', 'a4'); 
     var source = $('#tabelagastos')[0]; 

     pdf.fromHTML(source, 15, 15, {'width': 170}, 
        function (dispose) { 
         var arquivo = prompt("File name"); 
         pdf.save(arquivo +'.pdf'); 
        }); 

也许我需要做某种配置启用此功能...

我听说我需要使用cordova文件插件,但如何使用它?

回答

0

我已经找到了办法:

var pdf = new jsPDF('p', 'pt', 'a4'); 
    var source = $('#tabelagastos')[0]; 
    var PDFFILE =''; 
    var arquivo = prompt("Qual o nome do arquivo?"); 

    pdf.specialElementHandlers = { 
     '#bypassme': function (element, renderer) { 
     return true; 
    } 
    }; 


    pdf.fromHTML(source, 15, 15, {'width': 170}, 
       function (dispose) { 
        PDFFILE = pdf.output(); 
       }); 

    //NEXT SAVE IT TO THE DEVICE 

    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) { 
     fileSystem.root.getFile(arquivo +".pdf", {create: true}, function(entry) { 
      var fileEntry = entry; 
      entry.createWriter(function(writer) { 
      writer.onwrite = function(evt) { 
       alert("Save (root folder)!"); 
      }; 

      writer.write(PDFFILE); 
       }, function(error) { 
      alert(error); 
      }); 

     }, function(error){ 
      alert(error); 
      }); 
    }, 
    function(event){ 
     alert(evt.target.error.code); 
    });