我正在使用PDFKit生成PDF的Windows 8 Javascript應用程序。PDFkit js如何將文檔保存到文件(Win 8應用程序)
通常情況下,你會使用pipe創建一個blobstream,然後創建一個你發送給瀏覽器的URL。這隻適用於從服務器運行網站的情況,由於它是本地應用程序,情況並非如此。不過,我可以訪問文件系統,並且希望將生成的PDF保存到文件中。
要做到這一點,我被這個問題啓發: How to pipe a stream using pdfkit with node js
我嘗試使用Browserify兩個以上的解決方案,替換用的代碼打印機代碼,保存到一個文件:
Windows.Storage.ApplicationData.current.localFolder.createFileAsync("test.pdf",
Windows.Storage.CreationCollisionOption.replaceExisting).then(function (file) {
//write as text
Windows.Storage.FileIO.writeTextAsync(file, data).then(function() {});
//or write as buffer
var buffUTF8 = Windows.Security.Cryptography.CryptographicBuffer.convertStringToBinary(data, 0);
Windows.Storage.FileIO.writeBufferAsync(file, buffUTF8).then(function() {});
});
,你可以看到我都嘗試使用書寫作爲文本或寫作緩衝區,都給了我完全相同的文件。
PDF文件已創建,但是當我打開它時,它會顯示一個空白頁。如果我在文本編輯器中打開pdf並將其與一個有效的PDF進行比較,我可以看出文件的流部分具有不同類型的字符。
而且在Visual Studio輸出窗口濫發我大約有無效編碼的URI的Javascript運行時錯誤消息。
所以這顯然是一個編碼的問題,我不知道下一步該怎麼做。有關如何將PDFkit文檔保存到文件的任何提示?
Windows.Security.Cryptography.CryptographicBuffer.decodeFromBase64String(base64)幫助我移出IE Mobile atob()替代方案。 – tvelop