Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在新浏览器完整窗口中打开PDF_Javascript_Jquery - Fatal编程技术网

Javascript 在新浏览器完整窗口中打开PDF

Javascript 在新浏览器完整窗口中打开PDF,javascript,jquery,Javascript,Jquery,如何在新浏览器窗口中打开PDF文档 窗口应满且没有菜单 只需在一个干净完整的窗口中使用本机Javascript或jQuery创建一个PDF文档。我将在这里碰碰运气,并实际建议不要这样做。我怀疑想要查看您的PDF文件的人已经按照他们想要的方式设置了他们的查看器,并且不会善待您剥夺他们的选择:-) 为什么不直接用正确的内容说明符将内容向下流呢 通过这种方式,新手将获得他们的浏览器开发人员拥有的任何有用的默认设置,而我们这些知道如何配置这些东西的人将看到我们想要的东西。 <a href="#"

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

窗口应满且没有菜单


只需在一个干净完整的窗口中使用本机Javascript或jQuery创建一个PDF文档。

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

为什么不直接用正确的内容说明符将内容向下流呢

通过这种方式,新手将获得他们的浏览器开发人员拥有的任何有用的默认设置,而我们这些知道如何配置这些东西的人将看到我们想要的东西。


<a href="#" onclick="window.open('MyPDF.pdf', '_blank', 'fullscreen=yes'); return false;">MyPDF</a>
上面的链接将以全屏模式打开PDF,这是您所能达到的最佳效果

var pdf = MyPdf.pdf;
window.open(pdf);
这将在
JavaScript

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

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

要从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();
}
函数base64到ArrayBuffer(数据){
const bString=window.atob(数据);
常数bLength=bString.length;
常量字节=新的Uint8Array(bLength);
for(设i=0;i
我不是把他们当作行为不端的孩子,而是给他们一个选择。这是一个文档管理应用程序,几乎没有图标可以以不同的方式打开pdf。其中一个图标将是完整的浏览器窗口,其他图标用于下载、在对话框中查看、在侧面使用表单进行编辑……那么,你是如何判断和对待我,就像对待行为不端的孩子一样?@Ed Guiness:你应该睁开眼睛。在我们的内部网中,有一些人每天都在查看大量的文档,他们不喜欢选择每次都在浏览器中打开文档,在comp或应用程序中下载文档,或者其他任何方式。我们有很多用户,想象一下,他们有两个监视器,并且喜欢在其中一个监视器中查看文档,在另一个监视器上编辑关于该文档的表单。这奇怪吗?我有我的理由。这将只是我的文档管理应用程序中可能的视图之一。没问题,@mojeime,既然您已经澄清了要求,我将把这个答案标记为CW,因为它没有我最初认为的那么有用:-)祝您找到解决方案好运。谢谢。来自@Shadow Wizard的答案正常。在接受答案之前,我只想在这里多提一些意见。你是唯一一个回答我问题的人,没有对我将如何处理全屏pdf进行评判。我知道,。。我知道我在这里做什么:)但因为这只是用户可以选择的视图之一,如果谷歌这样做了……我想我不会错的。右:)谢谢。@moj我很少评判其他人,因为我知道通常有很好的理由,例如客户要求这样的功能。很高兴我能帮忙!:)@ykaragol不工作意味着什么都没有打开,或者不是全屏?看起来Firefox根本不支持全屏打开任何东西。只是全屏不工作。我认为firefox不支持。@ykaragol:“不要使用。没有在Mozilla中实现。没有计划在Mozilla中实现此功能。”