web-dev-qa-db-ja.com

ChromeのPDFビューアにその名前でjavascriptファイルオブジェクトを表示するにはどうすればよいですか?

Blob オブジェクト( jsPDF で生成)の形式のPDFファイルがあり、これをに表示したい<iframe>要素。

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

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ファイルオブジェクトを<iframe>にファイル名で表示できるかどうか知っていますか?

Chrome's PDF viewer

10
Supersharp

setPropertiesメソッドを使用して、 jsPDF によって生成されたPDFのタイトルを設定できます。

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

そのタイトルは、ChromeのPDFビューアに表示されます。 ライブデモ ページでテストできます。

8
ConnorsFan