【问题标题】:Javascript automatically save pdf to a location?Javascript自动将pdf保存到某个位置?
【发布时间】:2013-07-15 00:46:01
【问题描述】:

我正在使用下面的代码打印带有会话文本的 pdf。有没有办法让它只保存到一个位置而不打印?

<script type="text/javascript">
<!--
     function printTextBox() {
         var windowUrl = 'about:blank';
         var windowName = 'Print' + new Date().getTime();
         var printWindow = window.open(windowUrl, windowName, 'left=50000,top=50000,width=0,height=0');
         printWindow.document.write('Last Name:<%= Session("DoctorLastName") %>');
         printWindow.document.close();
         printWindow.focus();
         printWindow.print();
         printWindow.close();
     }
// -->
</script>

【问题讨论】:

  • 您可以通过添加内容处置标头来获得下载弹出窗口,但至于用户决定将其保存在何处或是否保存,则不取决于您。
  • @adeneo 他在做这个客户端,你不能在那里乱用标题。基本上他是通过使用浏览器的打印功能生成 PDF。
  • 通常的处理方式是使用服务器上的 PDF 生成库。其实“.NET HTML转PDF库”是名副其实的山寨产业。
  • 是的,我认为有一种不涉及用户的简单方法

标签: javascript asp.net vb.net


【解决方案1】:

据我所知,您不能强制用户将文件下载到特定位置。

正如您所指出的,网站访问者的浏览器通常会想要呈现该文件,但如果您将服务器端 MIME 类型指定为类似“八位字节流”以指示二进制文件,它应该改为提示用户下载文件。

这里一般讨论让浏览器下载文件:Download File Using Javascript/jQuery

如果您告诉我们您正在使用什么服务器端框架,我们可能会更有帮助。

【讨论】:

  • 当用户单击完成按钮时,我基本上想获取会话数据并生成 pdf 并将其保存到后台的网络位置。
  • 您要保存的网络位置是否可供浏览器或 Web 服务器访问?
  • 是的,它在网络服务器上
  • 我明白了。在这种情况下,您需要在服务器端处理所有这些数据,或者至少使用 AJAX 将其发布到服务器。然后,您可以使用服务器端框架将数据保存到网络位置。您提出问题的方式听起来像是您正在尝试在浏览器中执行此操作。
猜你喜欢
  • 1970-01-01
  • 2021-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-14
  • 2010-10-13
相关资源
最近更新 更多