Dompdfを使用してPDFを生成しようとしていますが、ブラウザの新しいタブでPDFを開くにはどうすればよいですか?同様に、PDFのリンクをクリックすると、自動的に保存するのではなく、新しいタブで開くはずです。最初にファイルを表示した後で、ファイルを保存する選択肢をユーザーに提供したいと思います。方法私はそれをしますか?
ファイルの最後で$ pdf-> outputを使用しても、変更はありません。ファイルは自動的にダウンロードされます。助けてください。ありがとう。
PDFがダウンロードされるか、ブラウザで表示されるかは、いくつかの要因によって異なります。 1つはブラウザの設定ですが、制御することはできません。 2つ目は、dompdfがPDFをブラウザーに表示する方法です。 dompdfに、$dompdf->stream('my.pdf',array('Attachment'=>0));
を使用して直接表示するためのPDFを提供するように指示できます。
新しいタブで開く限り。これは、PDFを生成する方法によって異なります。しかし、ターゲット属性を持つリンクを提供する最も簡単な方法。
私のサイトにも同じ問題があります( http://www.pdfwebcreator.com )
私の解決策は次のとおりです。
$myfile = fopen($strFileName, "r") or die("Unable to open file!");
$fileSize = filesize($strFileName);
header("HTTP/1.1 200 OK");
header("Pragma: public");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private", false);
header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename=\"temporaryPdf.pdf\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . $fileSize);
echo fread($myfile, $fileSize);
}
あなたが得たかどうかはわかりませんが、この行でfalseを使用した場合:
$dompdf-> stream("pasta/doc/relatorio.pdf", array("Attachment" => false));
あなたはブラウザでpdfを見ることができます。
まだ実験中ですが、このようなものでも問題なく動作します
$pdf->loadView('file/path', compact('values'));
return $pdf->stream();
これにより、ブラウザ内のPDFファイルページに動的な値を追加できます。