如何在Chrome的PDF查看器中显示javascript文件对象及其名称?

时间:2016-11-17 14:50:30

标签: javascript google-chrome iframe jspdf pdf-viewer

我有一个Blob对象形式的PDF文件(使用jsPDF生成),我希望在<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查看器之前替换为随机文件名。

您知道是否可以在<iframe>中显示PDF文件对象及其文件名?

Chrome's PDF viewer

1 个答案:

答案 0 :(得分:9)

您可以使用setProperties方法设置jsPDF生成的PDF标题:

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

该标题将显示在Chrome中的PDF查看器中。您可以在Live Demo页面进行测试。