如何强制在Content-Disposition声明为附件的情况下,使PDF文件以内嵌方式显示?

12

我正在将PDF文件从一台服务器以Content-Disposition:attachment;的方式嵌入到IFRAME中。

是否有任何方法强制浏览器内联显示PDF? 不幸的是,我无法更改在iframe中链接的PDF文件的标头。


你能在自己的服务器端代码中下载它,然后将客户端的IFRAME SRC指向你自己的页面吗? - Yuriy Galanter
我可以这样做,但这并不是最理想的。虽然可能是唯一的解决方案。 - Jordan Reiter
有找到解决方案吗?我也遇到了同样的问题。 - Chad Brown
1个回答

1
您可以使用pdf.js库在HTML页面中呈现pdf文件。 Mozilla Pdf.js

HTML 代码

<!DOCTYPE html>
<html>
 <head>
  <title>PDF.js Learning</title>
 </head>
 <body>
  <script type="text/javascript" src="pdf.js"></script>
  <canvas id="the-canvas"></canvas>

 </body>
</html>

JavaScript代码
 var url = "www.pdf995.com/samples/pdf.pdf";

 PDFJS.getDocument(url)
  .then(function(pdf) {
   return pdf.getPage(1);
   })
 .then(function(page) {

 var scale = 1.5;


 var viewport = page.getViewport(scale);

 // Get canvas#the-canvas

 var canvas = document.getElementById('the-canvas');

 // Fetch canvas' 2d context

 var context = canvas.getContext('2d');

 // Set dimensions to Canvas

 canvas.height = viewport.height;
 canvas.width = viewport.width;

 // Prepare object needed by render method

  var renderContext = {
 canvasContext: context,
 viewport: viewport
 };

 // Render PDF page

  page.render(renderContext);
 });

这个可行吗?因为我们首先有一个可下载的附件而不是 PDF。 - Max

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接