我想開發一個(離線)打包的應用程序與鉻23 +允許用戶生成和打印PDF文件。我嘗試過不同的方式來實現這一點,但沒有一個真正有效。Chrome打包的應用程序/ pdf.js
使用這樣的事情,瀏覽器/應用程序凍結:
window.html (includes pdf.js (http://code.google.com/p/jspdf/) and genpdf.js (see below)):
....
<browser src="about:blank" width="1024" height="768"></browser>
genpdf.js:
var doc = new jsPDF();
doc.text(20, 20, 'foo');
doc.text(20, 30, 'bar');
document.querySelector('browser').src = window.webkitURL.createObjectURL(new Blob([doc.output()], {type: 'application/pdf'}));
這將是我的,以顯示生成的PDF首選方式,但與窗口凍結用戶不能打印。
另一種方式是將PDF保存到桌面上:
chrome.fileSystem.chooseFile({type: 'saveFile'}, function(writableFileEntry) {
writableFileEntry.createWriter(function(writer) {
writer.onerror = function(e) {
console.log('writeend');
};
writer.onwriteend = function(e) {
console.log('writeend');
};
var doc = new jsPDF();
doc.text(20, 20, 'foo');
doc.text(20, 30, 'bar');
writer.write(new Blob([doc.output()], {type: 'application/pdf'}));
}, errorHandler);
});
這工作,但桌面上的文件被鎖定,直到應用程序被關閉。是否有任何api-call我缺少釋放保存的文件?
在此先感謝!
很想看到有人回答這個問題。 – knownasilya
如果您的首選解決方案導致Chrome崩潰,我會做的第一件事是[提出問題](http://code.google.com/p/chromium/issues/list)。 Chrome開發者很可能會幫助你。 –