Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use this php code to open a pdf in a new tab

Tags:

php

pdf

magento

I have managed to use the below snippet of code, to open a pdf in a browser.Instead of opening in the same page, I would like it to open in a new browser tab.

I am not using an tag. This piece of code invokes a number of actions and at the end it is supposed to display the pdf. It works fine, but i would like it to open in a new tab.

Is this possible? and if so could you please explain to me how to do so.

Im using a Magento (EE 12.02) application and its on php 5.3.

$file = $pdf_file_path;
$filename = $file_name;

    header('Content-type: application/pdf');
    header('Content-Disposition: inline; filename="' . $filename . '"');
    header('Content-Transfer-Encoding: binary');
    header('Content-Length: ' . filesize($file));
    header('Accept-Ranges: bytes');

    @readfile($file);
like image 899
activeDev Avatar asked Oct 04 '12 15:10

activeDev


People also ask

How do I get a PDF to open in a new tab?

Please try the following steps: Go to Edit (Windows), Adobe Reader / Adobe Acrobat DC (Mac) > Preferences > General > Select, Open documents as new tabs in the same window > OK. Restart the application and check.

How can I open PDF file in PHP?

Example 1 : How to open a PDF file in browser with PHP php // Store the name of the file in a variable $file = 'filename. pdf'; // Header Content Type header('Content-type: application/pdf'); header('Content-Disposition: inline; filename="' . $file .

How can I open PDF file without downloading in PHP?

Under "Privacy and security," click Content settings. Near the bottom, click PDF documents. Turn off Download PDF files instead of automatically opening them in Chrome. Click on Extreme Right 3 lines.


2 Answers

You can't do that from that request.

But you can open the link in a new browser window by adding target="_blank" to your a tag, then browsers usually will use a new tab.

like image 87
Niko Sams Avatar answered Oct 13 '22 00:10

Niko Sams


You can open a new tab while opening your pdf document. Example: if the code that opens your pdf document is on a page called pdfdocument.php, that is some code like so

    $pdf = file_get_contents($PDFfilename);
    header('Content-Type: application/pdf');
    header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1
    header('Pragma: public');
    header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
    header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
    header('Content-Length: '.strlen($pdf));
    header('Content-Disposition: inline; filename="'.basename($PDFfilename).'";');
    ob_clean(); 
    flush(); 
    echo $pdf;

and you have a link to the page such as http://www.example.com/pdfdocument.php, you can display it in a new tab like so <a href="http://www.example.com/pdfdocument.php" target="_blank"> click here to show pdf preview </a>

like image 44
user28864 Avatar answered Oct 13 '22 00:10

user28864