2 回答

TA貢獻1844條經驗 獲得超8個贊
一種解決方案是不使用 PDF.js 并依賴瀏覽器處理 PDF 的open功能(如@MarcoDeveloper 建議的那樣)。另一種解決方案是準備單獨的頁面,該頁面將使用 PDF.js 顯示您的文件。
為此,您需要準備簡單的 html 頁面。我建議使用帖子消息,但如果您的頁面在同一域中,您也可以直接發送數據。
預覽.html:
window.addEventListener("message", receiveMessage, false);
function receiveMessage(e) {
if (event.origin === window.location.origin) {
PDFJS.getDocument({ data: convertDataURIToBinary(e.data) }).then(function() {
});
}
}
索引.html:
var win = window.open('preview.html');
win.postMessage(dataURI, '*');
發送 base64 數據并在 preview.html 中解碼可能是個好主意。
要直接發送 pdf 數據,您可以使用(僅在同一域中):
var win = window.open('preview.html');
win.PDFJS.getDocument({ data: binary_data });
文件 preview.html 只需要包含 PDF.js 的 JS 文件,它應該可以工作。

TA貢獻1856條經驗 獲得超17個贊
// ADD OPEN WHIT WINDOW JAVASCRIPT
var pdfData = convertDataURIToBinary('data:application/pdf;base64,' + data);
window.open(pdfData);
添加回答
舉報