2016-11-17 21 views
6

要素に表示したいオブジェクト(jsPDFで生成)の形式のPDFファイルがあります。ChromeのPDFビューアのjavascriptファイルオブジェクトを名前で表示するにはどうすればよいですか?

私は簡単にこの方法でそれを行うことができます

iframe.src = URL.createObjectURL(blob) 

PDFが正しくレンダリングされたが、私は(ChromeのPDFビューアの下の画像を参照)、その名の代わりに難解な文字列を取得しています。

私はBlobを人間が読める名前にするためにFileオブジェクトに変換しようとしました。

var file = new File([blob], 'a_name.pdf', { type: 'application/pdf' }) 
iframe.src = URL.createObjectURL(file) 

Firefoxと同じ働きをします。ヘッダのPDFビューアからファイルを保存するときに名前が保持されます。 残念ながら、このファイルはChromeで削除され、PDFビューアに読み込まれる前にランダムなファイル名に置き換えられます。

ファイル名がのPDFファイルオブジェクトを表示できるかどうか知りませんか?

Chrome's PDF viewer

+1

あなたは適切な答えを得るのが怠惰だと感じていますが、解決策は 'サービスワーカー 'です。あなたはカスタムレスポンスで応答し、内容 - 処理ヘッダーを追加することができますが、httpsが必要です。設定するには幾分複雑です – Endless

+0

@スーパーシャープ、これに何か幸運? –

+0

@AbhishekPrakash、Endlessの解決策がない限り、または代わりにpdf.jsを使用してください。 – Supersharp

答えて

7

あなたがsetProperties方法でjsPDFによって生成されたPDFのタイトルを設定することができます。タイトルはChromeでPDFビューアに表示されることを

var doc = new jsPDF(); 
doc.setProperties({ 
    title: "This is my title" 
}); 
... 

Live Demoページでテストできます。

+0

そのファイルのダウンロード名はまだ同じです – tchelidze

関連する問題