2017-07-10 13 views
0

私はHTML埋め込みタグを持っており、内部にpdfを表示したいと考えています。これはファイルからのsrcで動作します。しかし、ファイルから、私はメモリからコンテンツをロードしたい。だから私は、バッファ内の残りのAPIからpdfデータを取得し、埋め込みタグにこれを供給したい。これは可能ですか? これは不格好な方法は、その後srcで使用されるファイル名を更新し、サーバー上の一時ファイルをダウンロードすることであろういくつかのサンプルコードHTML埋め込みPDF、コンテンツをバッファから設定

<div id ="pdfView"> 
    <embed class="form-control" src="some/path/file.pdf" id="pdf"/> 
</div> 

答えて

0

です。私はテストしていませんが、うまくいくようです。

もう1つの方法はデータタグです。 Base64でPDFコンテンツをエンコードし、the data URL schemeを使用してsrcタグを生成する必要があります。

例:

<embed class="form-control" src="data:application/pdf;base64,JVBERi0xLjEKJcKlwrHDqwoKMSAwIG9iagogIDw8IC9UeXBlIC9DYXRhbG9nCiAgICAgL1BhZ2VzIDIgMCBSCiAgPj4KZW5kb2JqCgoyIDAgb2JqCiAgPDwgL1R5cGUgL1BhZ2VzCiAgICAgL0tpZHMgWzMgMCBSXQogICAgIC9Db3VudCAxCiAgICAgL01lZGlhQm94IFswIDAgMzAwIDE0NF0KICA+PgplbmRvYmoKCjMgMCBvYmoKICA8PCAgL1R5cGUgL1BhZ2UKICAgICAgL1BhcmVudCAyIDAgUgogICAgICAvUmVzb3VyY2VzCiAgICAgICA8PCAvRm9udAogICAgICAgICAgIDw8IC9GMQogICAgICAgICAgICAgICA8PCAvVHlwZSAvRm9udAogICAgICAgICAgICAgICAgICAvU3VidHlwZSAvVHlwZTEKICAgICAgICAgICAgICAgICAgL0Jhc2VGb250IC9UaW1lcy1Sb21hbgogICAgICAgICAgICAgICA+PgogICAgICAgICAgID4+CiAgICAgICA+PgogICAgICAvQ29udGVudHMgNCAwIFIKICA+PgplbmRvYmoKCjQgMCBvYmoKICA8PCAvTGVuZ3RoIDU1ID4+CnN0cmVhbQogIEJUCiAgICAvRjEgMTggVGYKICAgIDAgMCBUZAogICAgKEhlbGxvIFdvcmxkKSBUagogIEVUCmVuZHN0cmVhbQplbmRvYmoKCnhyZWYKMCA1CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxOCAwMDAwMCBuIAowMDAwMDAwMDc3IDAwMDAwIG4gCjAwMDAwMDAxNzggMDAwMDAgbiAKMDAwMDAwMDQ1NyAwMDAwMCBuIAp0cmFpbGVyCiAgPDwgIC9Sb290IDEgMCBSCiAgICAgIC9TaXplIDUKICA+PgpzdGFydHhyZWYKNTY1CiUlRU9GCg==" id="pdf"/> 

上記はthis minimal PDF exampleのBase64でエンコードされたデータです。あなたは、このようなファイル名を与えることはできません、そして、その場所で変な何かを見るかもしれません。

範囲外の可能性があるBase64エンコーディングについてのガイドが必要な場合は、こちらにthis oneのような解決策がたくさんあります。

+0

がその質問に対応しています。しかし、Latin1でないエラーが出るので、base64を直接エンコードすることはできません。 window.btoaで(unescape(encodeURIComponent(response))私は白いpdfを取得します.... – Florian

+0

ここで言及されたトリックを試すことができますhttps://stackoverflow.com/a/41445058/2060441 –

関連する問題