$pdf->draw_rectangle(400, 150, 150, 300, $page);
$pdf->set_default('fillcolor', $pdf->get_color('green'));
$space = new field(400, 600, 600, 800);
$pdf->packer->allocate($space);
$pdf->draw_rectangle(800, 400, 600, 600, $page);
$pdf->set_default('fillcolor', $pdf->get_color('black'));
$pdf->set_default('height', 10);
$text = implode('', file('text.txt'));
$pdf->packer->fill_text($text);
$pdf->set_default('smode', 'stroke');
$pdf->set_default('strokecolor', $pdf->get_color('#cccccc'));
foreach ($pdf->packer->fields as $f) {
    $pdf->draw_rectangle($f->t, $f->l, $f->b, $f->r, $page);
    $x[0] = $f->l;
    $x[1] = $f->r;
    $y[0] = $f->b;
    $y[1] = $f->t;
    $pdf->draw_line($x, $y, $page);
}
$page = $pdf->new_page();
$pdf->set_default('height', 9);
$pdf->draw_paragraph(720, 72, 72, 540, $pdf->_print_r($pdf->packer->fields), $page);
/* These headers do a good job of convincing most
 * browsers that they should launch their pdf viewer
 * program
 */
header("Content-Disposition: filename=example.pdf");
header("Content-Type: application/pdf");
$temp = $pdf->generate(0);
header('Content-Length: ' . strlen($temp));
echo $temp;
Exemple #2
0
function siirtokehoitus_pdf($pdf_data)
{
    //PDF:n luonti ja defaultit
    require_once "pdflib/phppdflib.class.php";
    //PDF parametrit
    $pdf = new pdffile();
    $pdf->set_default('margin-top', 0);
    $pdf->set_default('margin-bottom', 0);
    $pdf->set_default('margin-left', 0);
    $pdf->set_default('margin-right', 0);
    //fontit
    $pieni["height"] = 11;
    $pieni["font"] = "Times-Roman";
    $bold["height"] = 11;
    $bold["font"] = "Times-Bold";
    // sitten aletaan piirtämään itse PDF sisältöä
    $sivu = $pdf->new_page("a4");
    $x = 40;
    $y = 800;
    $xx = array(20, 580);
    $pdf->draw_text($x, $y, 'Tyyppi', $sivu, $bold);
    $pdf->draw_text($x + 100, $y, 'Tuotenumero', $sivu, $bold);
    $pdf->draw_text($x + 200, $y, 'Tuotepaikka', $sivu, $bold);
    $pdf->draw_text($x + 300, $y, 'Hyllyssä', $sivu, $bold);
    $pdf->draw_text($x + 400, $y, 'Hälytysraja', $sivu, $bold);
    $y -= 20;
    $yy[0] = $yy[1] = $y;
    $pdf->draw_line($xx, $yy, $sivu);
    $y -= 20;
    foreach ($pdf_data as $row) {
        $korkeus = 20 + count($row['varapaikat']) * 20;
        if ($korkeus > $y) {
            $sivu = $pdf->new_page("a4");
            $y = 800;
            $pdf->draw_text($x, $y, 'Tyyppi', $sivu, $bold);
            $pdf->draw_text($x + 100, $y, 'Tuotenumero', $sivu, $bold);
            $pdf->draw_text($x + 210, $y, 'Tuotepaikka', $sivu, $bold);
            $pdf->draw_text($x + 320, $y, 'Hyllyssä', $sivu, $bold);
            $pdf->draw_text($x + 420, $y, 'Hälytysraja', $sivu, $bold);
            $y -= 15;
            $yy[0] = $yy[1] = $y;
            $pdf->draw_line($xx, $yy, $sivu);
            $y -= 20;
        }
        $pdf->draw_text($x, $y, 'Oletuspaikka', $sivu, $pieni);
        $pdf->draw_text($x + 100, $y, $row['tuoteno'], $sivu, $pieni);
        $pdf->draw_text($x + 210, $y, $row['tuotepaikka'], $sivu, $pieni);
        $pdf->draw_text($x + 320, $y, $row['myytavissa'], $sivu, $pieni);
        $pdf->draw_text($x + 420, $y, $row['haly'], $sivu, $pieni);
        foreach ($row['varapaikat'] as $vararow) {
            $y -= 20;
            $pdf->draw_text($x, $y, 'Varapaikka', $sivu, $pieni);
            $pdf->draw_text($x + 210, $y, $vararow['tuotepaikka'], $sivu, $pieni);
            $pdf->draw_text($x + 320, $y, $vararow['myytavissa'], $sivu, $pieni);
        }
        $y -= 15;
        $yy[0] = $yy[1] = $y;
        $pdf->draw_line($xx, $yy, $sivu);
        $y -= 20;
    }
    //keksitään uudelle failille joku varmasti uniikki nimi:
    $pdffilenimi = "/tmp/kuitti-" . md5(uniqid(rand(), true)) . ".pdf";
    //kirjoitetaan pdf faili levylle..
    $fh = fopen($pdffilenimi, "w");
    if (fwrite($fh, $pdf->generate()) === FALSE) {
        die("PDF kirjoitus epäonnistui {$pdffilenimi}");
    }
    fclose($fh);
    return $pdffilenimi;
}
$text = <<<EOT
Dynamically generated PDF files can enhance your website by making it more interesting and useful to your target audience.  Any time you want to deliver a print-ready document across the Internet, the PDF format is the correct delivery medium.  Whether it be downloadable or emailed, a document in PDF format is virtually guaranteed to display and print properly on any computer.
HTML can't promise this, and neither can proprietary formats, such as Word or Wordperfect documents.
EOT;
$pdf->draw_paragraph(660, 50, 300, 380, $text, $firstpage);
$pdf->draw_rectangle(650, 450, 600, 500, $firstpage, array('mode' => 'stroke'));
$x[0] = 53;
$x[1] = 503;
$x[2] = 303;
$y[0] = 447;
$y[1] = 567;
$y[2] = 347;
unset($p);
$p['mode'] = 'fill';
$p['fillcolor']['red'] = $p['fillcolor']['green'] = $p['fillcolor']['blue'] = 0.4;
$pdf->draw_line($x, $y, $firstpage, $p);
$x[0] = 50;
$x[1] = 500;
$x[2] = 300;
$y[0] = 450;
$y[1] = 570;
$y[2] = 350;
unset($p);
$p['mode'] = 'fill+stroke';
$p['fillcolor'] = $pdf->get_color('white');
$pdf->draw_line($x, $y, $firstpage, $p);
$fh = fopen("../doc/ptlogo.jpg", "r");
$data = fread($fh, filesize('../doc/ptlogo.jpg'));
fclose($fh);
$image = $pdf->jfif_embed($data);
$size = $pdf->get_image_size($image);