私は、ユーザーがpdfファイルを生成して印刷できるように、chrome 23+(オフライン)パッケージのアプリケーションを開発しようとしています。私はこれを達成するために様々な方法を試しましたが、本当にうまくいきません。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デベロッパーがあなたを助けることができます。 –