如何在浏览器中设置pdf文件的标题?

时间:2015-03-05 16:25:22

标签: node.js pdf http-headers httpresponse

我使用nodejs服务器来提供静态文件。提供pdf文件时,浏览器会将标题显示为pdf路径的URL。

127.0.0.1:8080/docs/sample

如何将其设置为自定义标题“Sample”

我尝试过以下事情,但没有运气:

  1. res.setHeader('Content-Disposition','inline; filename =“sample.pdf”');
  2. 将pdf文件的元标记设置为“样本”
  3. 非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

如果您使用的是静态文件服务器,那么您可以将其作为下载服务。现代浏览器通常包含内置的PDF查看插件,因此浏览器不会向用户询问保存文件的位置,而只是在浏览器选项卡中显示PDF。它仍然下载了它,它只是将它保存到你机器上的一些临时缓存中。

我所得到的是,在这种情况下你无法控制浏览器标题,因为它只是浏览器试图变得更好并且为用户提供便利。 PDF文件本身不知道它是在浏览器的内置查看器中显示还是在桌面上的Adobe Reader中显示。由于浏览器希望从实际网页上运行的HTML或JavaScript设置页面标题,因此没有可以发送的HTTP标头来设置标题。

现在,如果您要将PDF文件嵌入带有某种PDF查看器的HTML页面中,那么您可以使用简单的<title>some title</title>标记控制页面标题,或者从JavaScript调用document.title = 'some title';。这是有效的,因为浏览器正在呈现您控制的实际网页,而该页面恰好有一个嵌入式PDF查看器。

以下是可嵌入PDF查看器的示例。 http://pdfobject.com/

答案 1 :(得分:0)

//hack alert

您可以通过将网址的最后一个片段设置为您喜欢的任何方式来欺骗浏览器。即将示例中的sample更改为所需的标题。

(在chrome 58.0.3029.110中测试)

HTH