javascript - 画像 - pdf.js base64




JavaScriptでbase64文字列をPDFファイルとしてクライアント側に保存する (2)

だからここで私の問題:私は、私はサーバーから取得している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ダウンロードプラグインで可能でしょうか?


ファイルをダウンロードするには、次のコマンドを使用します。

window.open("data:application/pdf;base64," + Base64.encode(out));

以下のようなアンカーを作成して、 base64 pdfをダウンロードすることができます:

<a download=pdfTitle href=pdfData title='Download pdf document' />

pdfDataは、のようなあなたのbase64でエンコードされたPDFファイルです"データ:アプリケーション/ PDF; base64で、JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0ZpbHRlci9GbGF0ZURlY29kZT4 + CnN0cmVhbQp4nO1cyY4ktxG911fUWUC3kjsTaBTQ1Ytg32QN4IPgk23JMDQ2LB / 0 + 2YsZAQzmZk1PSPIEB ..."





base64