だからここで私の問題:私はサーバーから取得しているbase64文字列としてpdfファイルを持っています。この文字列を使用して、PDF をブラウザに直接表示するか、リンクをクリックしたときに「名前を付けて保存...」のオプションを提供したいと思います。ここで私が使用しているコード:
<!doctype>
<html>
<head>
<title>jsPDF</title>
<script type="text/javascript" src="../libs/base64.js"></script>
<script type="text/javascript" src="../libs/sprintf.js"></script>
<script type="text/javascript" src="../jspdf.js"></script>
<script type="text/javascript">
function demo1() {
jsPDF.init();
jsPDF.addPage();
jsPDF.text(20, 20, 'Hello world!');
jsPDF.text(20, 30, 'This is client-side Javascript, pumping out a PDF.');
// Making Data URI
var out = jsPDF.output();
var url = 'data:application/pdf;base64,' + Base64.encode(out);
document.location.href = url;
}
</script>
</head>
<body>
<a href="javascript:demo1()">Run Code</a>
</body>
</html>
Chrome と Safari で問題なく動作します。Firefox は pdf を認識しますが、FF には拡張機能が存在する必要があるため表示されませんが、この場合、data-URI には何もありません。私がここで主張している理由は、クロムとサファリがそれを機能させるなら、FFとIEの解決策がなければならないということです
これに関連する質問がいくつかあることは知っていますが、実際には正確なものではなく、少し古いものもあります。サーバー側でPDFを生成することで回避できることはわかっていますが、クライアント側で生成したいと思います。
賢い人たちにお願いします。いくつかのハックまたは追加の JS ダウンロード プラグインによって可能ですか?