wake-up-neo.com

Anzeige PDF im Browser

Ich möchte eine PDF -Datei im Browser anzeigen, die auf unserem Server gespeichert ist. Hier ist mein Code: -

$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);

Es wird jedoch die folgende Ausgabe im Browser angezeigt:

%PDF-1.4 % 5 0 obj >stream

PDF-Datei zum Anzeigen:

enter image description here

Ich mache das aus Sicht von Codeignter.

Was mache ich falsch? Bitte hilf mir dabei. Danke im Voraus

EDIT: -

Ich mache so etwas wie unten:

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);

  }

Wie kann ich also mehr als eine Datei im Browser anzeigen?

Edit 2: - 

Wie in der Antwort unten beschrieben, muss ich phpmerger verwenden, um mehrere PDF -Dateien zusammenzuführen und im Browser anzuzeigen. Ich habe diese Website http://pdfmerger.codeplex.com/ durchgesehen, kann sie jedoch nicht in codeignter verwenden. Kann mir bitte jemand helfen, diesen Phpmerger in meinem Codeingter zu verwenden

8
Rakesh Shetty

sie können PDF Merger library verwenden, um Ihre Ziele zu erreichen . Hier ist der Link zur ursprünglichen Bibliothek (veraltet).Bevorzugung der Myokyawhtun-Gabel, die beibehalten wird

ein Beispielcode lautet wie folgt

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.

Unterstützte Modi - browser, file, download und string.


Edit: Wie ich sehen kann, haben Sie CI markiert, Sie können PDFMerger.php in applications/libraries. Eingeben und in autoload.php oder in controller laden.

und kann es dann wie die Funktionen $this->pdfmerger->addPDF() und merge() verwenden.

7
karan thakkar
$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);

bitte probieren Sie diesen Code. Ich hoffe, es funktioniert, während ich es versuche.

5
arshad

Anstatt zu verwenden

@readfile($file);

Benutzen

echo file_get_contents($file);

Oder den @ weglassen

1
RichardBernards

meine empfohlene Bibliothek zum Einbetten von PDFs ist PDFObject. Schaut es euch hier an: http://pdfobject.com/

1
Darius

Diese Methode funktioniert, wenn Sie ein PDF auf der Browserseite anzeigen möchten.

$file = 'filename.pdf';
echo "<embed src='$file' type='application/pdf' width='80%' height='600px' />";
1
Mike Volmar

Freunde verwenden einfach Anchor-Tag, das ist es. Alle neueren Browser von heute unterstützen die Anzeige aller Dateien.

0
Siddu Loni