わかりました、ドキュメントデータがどこかに保存されているとしましょう。この pdfを任意に取りましょう。
問題#1。私がやりたいことは、この URL への AJAX 呼び出しを行うことです (いくつかの認証ヘッダーを渡す必要があり、それがクロスドメインであるため)。次に、返されたデータを取得し、そのデータのBLOB URLを作成し、iFrame を DOM に追加して、 BLOB URL に転送しますsrc
。
現在、私のコードは次のようになっています。
$.ajax({
url:'http://www.grida.no/climate/ipcc_tar/wg1/pdf/tar-01.pdf'
}).done(function(data){
var file = new Blob([data], {type:'application/pdf'}),
url = URL.createObjectURL(file),
_iFrame = document.createElement('iframe');
_iFrame.setAttribute('src', url);
_iFrame.setAttribute('style', 'visibility:hidden;');
$('#someDiv').append(_iFrame);
});
残念ながら、iFrame で「PDF のレンダリングに失敗しました」というメッセージが表示されます。
問題#2。これにより、ファイルのダウンロードプロンプトが表示されるようにしたいと思います。PDFが自然にiFrameに表示されるだけであるため、これを保証する方法がわかりません。