admin管理员组文章数量:1302448
How do I add a link to a PDF in the content, so that it downloads rather than opens in the browser windows? (I've uploaded the PDF to the media library and can insert the link but can't find an option to prevent it opening in the browser window).
Thanks,
Lucy
How do I add a link to a PDF in the content, so that it downloads rather than opens in the browser windows? (I've uploaded the PDF to the media library and can insert the link but can't find an option to prevent it opening in the browser window).
Thanks,
Lucy
Share Improve this question asked Dec 15, 2010 at 17:15 LucyLucy 831 gold badge3 silver badges5 bronze badges4 Answers
Reset to default 10you may try to add this to your .htaccess :
<FilesMatch "\.(?i:pdf)$">
# Force File Download
ForceType application/octet-stream
Header set Content-Disposition attachment
</FilesMatch>
A PDF will be saved with mime-type of application/pdf
, so if your theme has an application.php or pdf.php template file that forces download (or if you check for mime-type in your attachment.php template), you can force a download.
A pdf.php file built like this in your theme should do the trick:
<?php if (have_posts()) : while (have_posts()) : the_post();
$pdf_title = $post->post_title;
$uploads_dir = wp_upload_dir();
$attachment_src = get_post_meta( $post->ID, '_wp_attached_file', true );
$pdf_src = path_join( $uploads_dir['path'], $attachment_src );
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: application/pdf");
header("Content-Disposition: attachment; filename=\"".$pdf_title."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($pdf_src));
ob_clean();
flush();
readfile("$pdf_src");
endwhile; endif;
?>
(Edit: I should note that in order for this to work, when you insert the file into your post through the media uploader, you have to select Post URL rather than File URL in the Link URL field before inserting into your post. A link to a filename will follow the browser's preferences, but by linking to the WP post link, you can control its behaviour.)
Actually, that's entirely dependent on the browser. Some browsers will open a PDF in the window using a built-in PDF reader (most use the Adobe plug-in, Google Chrome has its own). If the plug-in is missing, though, the browser will attempt to download the file instead.
Your safest bet is to add instructions on the page for the user to right-click and select "save as."
If you're concerned about users not being able to get back to the page after they click a link, add target="_blank"
to the link and it will force the browser to open the link in a new tab or window. Sometimes, this can be enough to trigger a download instead as well.
Eg: <a href="http://site.url/document.pdf" target="_blank">Download PDF</a>
.
Just use the a tag's download attribute: https://www.w3schools/tags/att_a_download.asp
本文标签: mediaLinking a PDF as a downloadable document
版权声明:本文标题:media - Linking a PDF as a downloadable document 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741707948a2393669.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论