我浏览了很多博客,我成功地在 phonegap 中创建了 pdf 文件,但没有数据。
我的代码 javascrpit:
document.addEventListener("deviceready", createPDF, false);
function createPDF(){
var doc = new jsPDF();
doc.text(20, 20, 'HELLO!');
doc.setFont("courier");
doc.setFontType("normal");
doc.text(20, 30, 'This is a PDF document generated using JSPDF.');
doc.text(20, 50, 'YES, Inside of PhoneGap!');
//FIRST GENERATE THE PDF DOCUMENT
console.log("generating pdf...");
var doc = new jsPDF();
doc.text(20, 20, 'HELLO!');
doc.setFont("courier");
doc.setFontType("normal");
doc.text(20, 30, 'This is a PDF document generated using JSPDF.');
doc.text(20, 50, 'YES, Inside of PhoneGap!');
var pdfOutput = doc.output();
console.log( pdfOutput );
//NEXT SAVE IT TO THE DEVICE'S LOCAL FILE SYSTEM
console.log("file system...");
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
console.log("------------------------------------"+fileSystem.name);
console.log("------------------------------------"+fileSystem.root.name);
console.log("------------------------------------"+fileSystem.root.fullPath);
fileSystem.root.getFile("test erp.pdf", {create: true}, function(entry) {
var fileEntry = entry;
console.log(entry);
entry.createWriter(function(writer) {
writer.onwrite = function(evt) {
console.log("write success");
};
console.log("writing to file");
writer.write( pdfOutput );
}, function(error) {
console.log(error);
});
}, function(error){
console.log(error);
});
},
function(event){
console.log( evt.target.error.code );
});
}
和 config.xml :
<plugin name="LocalFileSystem" value="org.apache.cordova.file"/>
并在正文底部仅添加了一个 javascrpit
<script src="js/html_to_pdf/jspdf.source.js"></script>
如果您尝试此操作,则控制台上不会出现错误,并且将在手机内存上创建新文件,但作为空文件,您将无法打开它,因为对话框将出现“文档大小为 0”。
任何人都可以对此有任何参考或解决方案。等待有价值的回复。
先谢谢了。