サーバーに保存されているブラウザにPDFファイルを表示します。これが私のコードです:-
$path = $_SERVER['DOCUMENT_ROOT'].folder_name.'/resources/uploads/pdf/pdf_label_'.$order['id'].'.pdf';
$filename = 'pdf_label_'.$order['id'].'.pdf';
$file = $path;
$filename = $filename;
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
@readfile($file);
しかし、ブラウザの出力の下に戻ります:
%PDF-1.4 % 5 0 obj >stream
表示するPDFファイル:
私はcodeignterの観点からこれを行っています。
私は何を間違っていますか?これについて私を助けてください。前もって感謝します
EDIT:-
私は以下のようなことをしています:
foreach($orders as $order){
$path = $_SERVER['DOCUMENT_ROOT'].folder_name.'/resources/uploads/pdf/pdf_label_'.$order['id'].'.pdf';
$filename = 'pdf_label_'.$order['id'].'.pdf';
$file = $path;
$filename = $filename;
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
echo file_get_contents($file);
}
では、ブラウザに複数のファイルを表示するにはどうすればよいですか?
編集2:-
したがって、以下の回答に従って、phpmergerを使用して複数のPDFファイルをマージし、ブラウザに表示する必要があります。私はこのWebサイトを通過しました http://pdfmerger.codeplex.com/ ですが、codeignterに使用できません。私のphpmergerを私のcodeingter内で使用するのを手伝ってくれる人はいますか?
_PDF Merger
_ライブラリを使用して目標を達成できます。 これはオリジナルのライブラリへのリンクです(古い)維持されているmyokyawhtunフォークを優先してください
そして、サンプルコードは次のようになります
_include 'PDFMerger.php';
$pdf = new PDFMerger;
$pdf->addPDF('path_to_pdf/one.pdf', '1, 3, 4') //include file1 - pages 1,3,4
->addPDF('path_to_pdf/two.pdf', '1-2') //include file2 - pages 1 to 2
->addPDF('path_to_pdf/three.pdf', 'all') //include file3 - all pages
->merge('browser', 'test.pdf'); // OUTPUT : make sure you choose browser mode here.
_
サポートされるモード-browser
、file
、download
およびstring
。
Edit:CIをタグ付けしたことがわかるので、_PDFMerger.php
_を_applications/libraries
_に挿入できます。 _autoload.php
_またはcontroller
にロードします
そして、それを$this->pdfmerger->addPDF()
およびmerge()
関数のように使用できます。
$filePath="file path here";
$filename="file name here";
header('Content-type:application/pdf');
header('Content-disposition: inline; filename="'.$filename.'"');
header('content-Transfer-Encoding:binary');
header('Accept-Ranges:bytes');
@ readfile($filePath);
このコードを試してみてください、私がそれが私のように機能することを願っています。
使用する代わりに
@readfile($file);
ユーザー
echo file_get_contents($file);
または、@
を省略します
pDFの埋め込みに推奨されるライブラリはPDFObjectです。ここで確認してください: http://pdfobject.com/
このメソッドは、ブラウザのページにPDFを表示する場合に機能します。
$file = 'filename.pdf';
echo "<embed src='$file' type='application/pdf' width='80%' height='600px' />";
友達はそれだけのアンカータグを使用します。今日のすべての新しいブラウザーは、すべてのファイルの表示をサポートしています。