在浏览器中打开的PDF文件

时间:2010-09-28 16:17:14

标签: pdf browser

我编码的应用程序之一是每次点击pdf文件时都会提供下载选项。现在它在浏览器中打开。我没有更改任何代码。我该怎么做才能让他们下载而不是在浏览器中打开?

2 个答案:

答案 0 :(得分:1)

我可以想到两种方法:您可以简单地压缩PDF文件,然后强制下载,或者您可以编写一个脚本,将所请求的文件作为可下载的附件提供。不确定你的应用程序是用什么语言编写的,但在PHP中你可以这样做:

<强>的download.php

<?php   
if (isset($_GET['file'])) { 
    $file = $_GET['file'];
        if (file_exists($file) && is_readable($file) && preg_match('/\.pdf$/',$file))  { 
            header('Content-type: application/pdf');  
            header("Content-Disposition: attachment; filename=\"$file\"");   
            readfile($file); 
        } 
    } else { 
    header("HTTP/1.0 404 Not Found"); 
    echo "<h1>Error 404: File Not Found: <br /><em>$file</em></h1>"; 
} 
?> 

然后你会链接到你的pdf文件,如:

<a href="download.php?file=my_pdf_file.pdf">Download the cool PDF.</a>

this forum post上找到。

希望这有帮助。

答案 1 :(得分:0)

当你没有下载它们的插件时,浏览器有插件可以在浏览器中打开你的pdf文件。你仍然可以实现它的一种方法是在发送文件进行下载时不要告诉浏览器Mime Type的响应因此这样插件就不会知道有一个pdf文件要打开,仍然可以让你下载它。

尝试发送以下标题 内容 - 处理:附件;文件名= genome.pdf;          modification-date =“Wed,1997年2月12日16:29:51 -0500”;