2016-07-22 18 views
1

Ich versuche, ein Dokument, das als PDF online angezeigt werden wird. Eine Beispiel-URL wäre url.com/PDF.php?name=John Doe.Proper Weg zum Echo in eine vordefinierte pdf

Die PDF enthält eine Menge vordefinierter Text, und ich möchte den Teil nach name= in der PDF mehrfach wiederholen.

Ich habe gelesen (und versucht) FPDF, TCPDF, aber ich kann nicht herausfinden, wie dies zu implementieren.

<?php 
    echo htmlentities($_GET["name"]); //John 
?> 

Kennt jemand einen geradlinigen Weg, um dies zu erreichen?

Ich habe keinen PDF-Code, da ich entweder FPDF oder TCPDF nicht bekommen habe, um richtig zu arbeiten/anzuzeigen, was ich mache. Ich dachte, ich würde prüfen, ob das der richtige Weg ist, oder ob ich reines PHP verwenden soll.

Ein 'für Dummies' Leitfaden, um diese php/pdf-Bibliotheken arbeiten würde wirklich toll sein. Ich lade die Bibliothek herunter, lade sie auf meinen Server hoch, dupliziere eine der Dateien aus dem Beispielordner, ändere das Routing in (tcpdf-relative) Dateien, aber nein, es funktioniert nicht. Wenn ich zu einer der Dateien in examples/example_001.pdf gehe, wird es korrekt angezeigt. Wenn ich diese Datei in root kopiere und die Links so ändere, dass sie dem neuen Speicherort entsprechen, funktioniert das nicht. gar nicht angezeigt werden, nur eine weiße Seite

Beispiel funktioniert super http://fragger.no/pdf/examples/example_003.php

Diese Datei, die in Wurzel gelegt wird. Keine Fehler.

<?php 

// Include the main TCPDF library (search for installation path). 
require_once('examples/tcpdf_include.php'); 


// Extend the TCPDF class to create custom Header and Footer 
class MYPDF extends TCPDF { 

    //Page header 
    public function Header() { 
     // Logo 
     $image_file = K_PATH_IMAGES.'logo_example.jpg'; 
     $this->Image($image_file, 10, 10, 15, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false); 
     // Set font 
     $this->SetFont('helvetica', 'B', 20); 
     // Title 
     $this->Cell(0, 15, '<< TCPDF Example 003 >>', 0, false, 'C', 0, '', 0, false, 'M', 'M'); 
    } 

    // Page footer 
    public function Footer() { 
     // Position at 15 mm from bottom 
     $this->SetY(-15); 
     // Set font 
     $this->SetFont('helvetica', 'I', 8); 
     // Page number 
     $this->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M'); 
    } 
} 

// create new PDF document 
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 

// set document information 
$pdf->SetCreator(PDF_CREATOR); 
$pdf->SetAuthor('Nicola Asuni'); 
$pdf->SetTitle('TCPDF Example 003'); 
$pdf->SetSubject('TCPDF Tutorial'); 
$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); 

// set default header data 
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING); 

// set header and footer fonts 
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); 
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); 

// set default monospaced font 
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); 

// set margins 
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); 
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); 
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); 

// set auto page breaks 
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); 

// set image scale factor 
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); 

// set some language-dependent strings (optional) 
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { 
    require_once(dirname(__FILE__).'/lang/eng.php'); 
    $pdf->setLanguageArray($l); 
} 

// --------------------------------------------------------- 

// set font 
$pdf->SetFont('times', 'BI', 12); 

// add a page 
$pdf->AddPage(); 

// set some text to print 
$txt = <<<EOD 
TCPDF Example 003 

Custom page header and footer are defined by extending the TCPDF class and overriding the Header() and Footer() methods. 
EOD; 

// print a block of text using Write() 
$pdf->Write(0, $txt, '', 0, 'C', true, 0, false, false, 0); 

// --------------------------------------------------------- 

//Close and output PDF document 
$pdf->Output('pdf.pdf', 'I'); 

//============================================================+ 
// END OF FILE 
//============================================================+ 

I edited this: // Haupt TCPDF Bibliothek einschließen (für Installationspfad suchen). require_once ('examples/tcpdf_include.php');

Zu // Schließen Sie die Haupt-TCPDF-Bibliothek ein (suchen Sie nach dem Installationspfad). require_once ('tcpdf.php');

und es hat funktioniert, so jetzt alles, was ich brauche ist GET Informationen im Dokument zu verwenden.

Dies ist, wo ich würde gerne name = um

// set font 
$pdf->SetFont('helvetica', '', 12); 

// add a page 
$pdf->AddPage(); 

// set some text to print 
$txt = <<<EOD 
My text 

**NAME VALUE** 

Some more text 
EOD; 
+0

Es gibt eine Antwort auf Ihre Frage, wenn es ich s nützlich, vergessen Sie nicht, auf das Häkchen zu klicken, um es zu akzeptieren. –

Antwort

0

Zunächst einmal anzuzeigen $_GET zu verwenden Sie, wenn es überprüfen vorhanden:

<?php 

if (isset($_GET[ "name" ])) 
    $name = $_GET[ "name" ]; // ◄■■■■■■ NAME FROM URL. 
else $name = "noname"; // ◄■■■■■■ "NONAME" OR "?" OR ANYTHING ELSE. 

// Include the main TCPDF library (search for installation path). 
require_once('examples/tcpdf_include.php'); 
. 
. 
. 

Der Name ist in $name gespeichert, so können Sie diese Variable überall verwenden:

$txt = <<<EOD 
My text 

$name 

Some more text 
EOD; 
+1

Danke, mein Herr! Dies hat genau das getan, was ich erreichen wollte! Ich danke dir so herzlich! –