我想在存储在我们服务器上的浏览器中显示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的考虑。
我做错了什么?请帮我。提前致谢
编辑 :-
我在做下面的事情:
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文件并显示到浏览器中。我浏览了该网站http://pdfmerger.codeplex.com/,但无法用于codeignter。谁能帮我在我的编码器内使用这个phpmerger
您可以使用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
编辑:我可以看到你所标记CI,你可以把PDFMerger.php
在applications/libraries
。并加载到里面autoload.php
或里面controller
然后可以像$this->pdfmerger->addPDF()
和merge()
功能一样使用它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句