2016-03-22 31 views
1

Ich habe Probleme mit der Installation von PDFlib in meinem Apache, um es in meiner Wordpress-Anwendung zu verwenden.Config apache + PDFlib + wordpress

folgte ich das Tutorial PHP

ich noch den folgenden Befehl tat, weil ich in einem anderen Zweifel über die Installation gedacht:

echo "katleia.com.br localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf 
sudo a2enconf fqdn 

Es ist katleia.com.br/worpress der Weg Ich habe in meinem Browser, um auf meine Seite zuzugreifen.

Allerdings, wenn ich den Befehl geben:

service apache2 restart 

Es ist die nächste Ausfahrt mit Fehlern:

* Restarting web server apache2           [fail] 
* The apache2 configtest failed. 
Output of config test was: 
AH00526: Syntax error on line 1 of /etc/apache2/conf-enabled/fqdn.conf: 
Invalid command 'katleia.com.br', perhaps misspelled or defined by a module not included in the server configuration 
Action 'configtest' failed. 
The Apache error log may have more information. 

Kann mir jemand helfen PDFlib konfigurieren? weil ich ungefähr vier Stunden versuche, es in Wordpress arbeiten zu lassen und nichts zu tun hat.

Schon lasse ich auf Hinweis nicht ein WordPress-Plugin installieren.

echo "katleia.com.br katleia" | sudo tee /etc/apache2/conf-available/fqdn.conf 

UPDATE2

ich ihm Fehler geben zu machen geschafft zu stoppen, aber immer noch nicht funktioniert:

UPDATE

diesen Befehl rückgängig zu machen.

ich den folgenden Befehl tat, um den Server neu starten zu können:

echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf 
sudo a2enconf fqdn 
service apache2 restart 

mit diesem meinem Server zurückgegeben zu arbeiten, habe ich diesen Code in einer PHP-Datei, die nach dem Klick auf einen Namen Taste zum Testen:

try{ 
    $pdf = new PDFlib(); 
} catch (Exception $e) { 
    echo "error: ".$e->getMessage()."<br>"; 
} finally { 
    // open a file 
    pdf_open_file($pdf, "test.pdf"); 
    // start a new page (A4) 
    pdf_begin_page($pdf, 595, 842); 
    // get and use a font object 
    $arial = pdf_findfont($pdf, "Arial", "host", 1); 
    pdf_setfont($pdf, $arial, 10); 
    // print text 
    pdf_show_xy($pdf, "There are more things in heaven and earth, Horatio,",50, 750); 
    pdf_show_xy($pdf, "than are dreamt of in your philosophy", 50,730); 
    // end page 
    pdf_end_page($pdf); 
    // close and save file 
    pdf_close($pdf); 
} 

Er hatte keinen Fehler, aber wenn ich die Datei versuche, finde ich nirgendwo.

UPDATE3

Es gibt diesen Befehl, der in der Theorie war eine Ausgabe zu erhalten zeigt, dass der PDFlib läuft aber nicht alles zeigen, wenn ich es auf meinem Prompt tun:

# php -i |grep PDF 
PDFlib 
PDFlib Support => enabled 
PDFlib GmbH Binary-Version => 7.0.5p3 

Ich könnte tun, dass dieser Teil zu arbeiten vergessen wurde, die extension = pdf.so die Datei /etc/php5/cli/php.ini hinzuzufügen. Nachdem ich den Apache neu gestartet hatte gab er die erwartete Ausgabe.

Aber immer noch erscheint es nicht test.pdf irgendwo.

Update4

try { 
    $p = new PDFlib(); 

    /* open new PDF file; insert a file name to create the PDF on disk */ 
    if ($p->begin_document("", "") == 0) { 
     die("Error: " . $p->get_errmsg()); 
    } 

    $p->set_info("Creator", "hello.php"); 
    $p->set_info("Author", "Rainer Schaaf"); 
    $p->set_info("Title", "Hello world (PHP)!"); 

    $p->begin_page_ext(595, 842, ""); 

    $font = $p->load_font("Helvetica-Bold", "winansi", ""); 

    $p->setfont($font, 24.0); 
    $p->set_text_pos(50, 700); 
    $p->show("Hello world!"); 
    $p->continue_text("(says PHP)"); 
    $p->end_page_ext(""); 

    $p->end_document(""); 

    $buf = $p->get_buffer(); 
    $len = strlen($buf); 

    header("Content-type: application/pdf"); 
    header("Content-Length: $len"); 
    header("Content-Disposition: inline; filename=teste_do_katleia.pdf"); 
    print $buf; 
} 
catch (PDFlibException $e) { 
    die("PDFlib exception occurred in hello sample:\n" . 
    "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " . 
    $e->get_errmsg() . "\n"); 
} 
catch (Exception $e) { 
    die($e); 
} 

$p = 0; 

$len = mb_strlen($buf, 'ASCII'); 
exit(); 

Mit dem obigen Code kann einen PDF erzeugen und es auf der Website zu sehen, aber das ist nicht das, was ich will. Ich möchte es in einem Ordner speichern und dann auf einer anderen Seite wiederherstellen. Weiß jemand, was ich diesen Code ändern muss, um dies zu tun?

Antwort

1

With the above code can generate a pdf and view it on the site, but that's not what I want. What I want is to save it in a folder

sollten Sie den Kommentar in der Zeile vor der begin_document überprüfen():

/* open new PDF file; insert a file name to create the PDF on disk */ 
if ($p->begin_document("", "") == 0) { 

zusätzlich sollten Sie die die PDFlib 7 Tutorial, Kapitel 3.1.4 „Generieren von PDF-Dokumenten überprüfen in Speicher "für weitere Details zu diesem Thema.

Hinweis: Wenn Sie Dateien auf einer Disc erstellen, können Sie get_buffer() nicht verwenden, wodurch die PDF-Daten aus dem Speicher abgerufen werden. (Bitte beachten Sie die API-Referenz, die auch in Ihrem PDFlib 7-Paket im doc-Verzeichnis enthalten ist)