繁体   English   中英

在新浏览器全窗口中打开 PDF

[英]Open PDF in new browser full window

如何在新的浏览器窗口中打开 PDF 文档?

窗口应该是完整的并且没有菜单。

只是一个带有原生 Javascript 或 jQuery 的干净完整窗口中的 PDF 文档。

<a href="#" onclick="window.open('MyPDF.pdf', '_blank', 'fullscreen=yes'); return false;">MyPDF</a>

上面的链接将以全屏模式打开 PDF,这是您可以实现的最佳效果。

var pdf = MyPdf.pdf;
window.open(pdf);

这将在JavaScript的完整窗口中打开 pdf 文档

打开窗口的函数如下所示:

function openPDF(pdf){
  window.open(pdf);
  return false;
}

我将在这里碰碰运气,实际上建议不要这样做。 我怀疑想要查看您的 PDF 的人已经让他们的查看器按照他们想要的方式设置,并且不会善待您从他们那里拿走这个选择:-)

为什么不直接使用正确的内容说明符流式传输内容?

这样,新手就会得到他们的浏览器开发者有一个有用的默认值,而我们这些知道如何配置这些东西的人会看到我们想要的。

要从Base64 编码下载,您可以使用以下函数:

function base64ToArrayBuffer(data) {
  const bString = window.atob(data);
  const bLength = bString.length;
  const bytes = new Uint8Array(bLength);
  for (let i = 0; i < bLength; i++) {
      bytes[i] = bString.charCodeAt(i);
  }
  return bytes;
}
function base64toPDF(base64EncodedData, fileName = 'file') {
  const bufferArray = base64ToArrayBuffer(base64EncodedData);
  const blobStore = new Blob([bufferArray], { type: 'application/pdf' });
  if (window.navigator && window.navigator.msSaveOrOpenBlob) {
      window.navigator.msSaveOrOpenBlob(blobStore);
      return;
  }
  const data = window.URL.createObjectURL(blobStore);
  const link = document.createElement('a');
  document.body.appendChild(link);
  link.href = data;
  link.download = `${fileName}.pdf`;
  link.click();
  window.URL.revokeObjectURL(data);
  link.remove();
}

编辑:我误读了这个问题并创建了它以供下载。 将功能留在这里,因为它可能仍然有用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM