Kategorie: Apache

TCPDF verständlich

Da ich keine Lust hatte, notwendige PDF-Dokumente durch krude Installationsverenkungen ans Rennen zu kriegen, habe ich mich heute mal mit TCPDF auseinandergesetzt.
Die Internetseite http://www.tcpdf.org/ hat zwar nen Link zur Dokumentation, aber die verdient ihren Namen nicht wirklich … Installationsanleitung ist da passender.
Also hier in Kürze meine Erfahrungen, um vernünftige (oder eher ausreichende) Ergebnisse zu erhalten.
Übersicht über die Klasse und ihre Methoden: hier

Installation (ganz einfach):

  • Runterladen (z.B. sourceforge)
  • Entpacken (unzip)
  • Dahin kopieren, wo man es haben will

PDF-Dokumente erstellen:
Wichtig ist diese Zeile:
require_once('./tcpdf.php');

# Neues Dokument erstellen
$pdf = new TCPDF("P","mm","A4", true, "UTF-8",false);
Neues Objekt anlegen, mit den Eigenschaften (Hochkant (P), alle Angaben in mm, Seitenformat A4, Kodierung UTF-8)

$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor("Der Autor");

$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false); // kann genutzt werden, um Seitenzahlen etc. einzupflegen
$pdf->SetFont('times', 'BI', 20); // Schriftart festlegen
// add a page
$pdf->AddPage();

// set some text to print
$txt = <<write(0,$str); // den oben geschriebenen Text ausgeben

$pdf->Output('mytext.pdf', 'D'); // PDF-Dokument erstellen, beim FF gab es schon mal Probleme mit der internen Anzeige des Dokuments, daher der Parameter "D", sonst kann für die interne Darstellung auch "I" genutzt werden.

Bilder einfügen:
$pdf->Image('../images/image_demo.jpg', 50, 50, 100, 150);
Parameter:

  • URL
  • Abzisse (Position auf der horizontalen Achse)
  • Ordinate (Position auf der vertikalen Achse)
  • Breite
  • Höhe
Advertisements

Internal Dummy Connection beim Apache

Wenn in den Logs zu viele Einträge vom Apache mit „internal dummy connection“ auftauchen, hilf tfolgendes:

VHost anlegen mit

<VirtualHost 127.0.0.1>
        DocumentRoot /srv/www/localhost
        ServerName localhost
        ErrorLog /var/log/apache2/error_log
        TransferLog /var/log/apache2/access_log
        <Directory />
                Order allow,deny
                Allow from 127.0.0.1
        </Directory>
</VirtualHost>

Dann tauchen in den Logs keine Einträge mehr auf, warum ist das so:
https://issues.apache.org/bugzilla/show_bug.cgi?id=41796