<?php
/* Preparation Information */
$docPaddingTop = 40;
$docPaddingLeft = 50;
$docPaddingRight = 50;
$docPaddingBottom = 50;
$compName = "Google Inc";
$compAddress = "1600 Amphitheatre Parkway Mountain View, CA 94043.";
$compAddress2 = "Telepon: +1 650-253-0000, Faks: +1 650-253-0001.";
/* Create PDF Document */
$doc = new HaruDoc;
$doc->setPageMode(HaruDoc::PAGE_MODE_USE_THUMBS);
/* Preparation Font */
$timesNormal = $doc->getFont('Times-Roman');
$timesBold = $doc->getFont('Times-Bold');
/* Preparation Logo */
$logo = $doc->loadJPEG('google.jpg');
$lWidth = $logo->getWidth();
$lHeight = $logo->getHeight();
/* Create New Page */
$page = $doc->addPage();
$page->setSize(HaruPage::SIZE_A4, HaruPage::PORTRAIT);
$pWidth=$page->getWidth();
$pHeight=$page->getHeight();
/* Start Creating Header */
/* Create Logo */
$page->drawImage($logo, $docPaddingLeft, $pHeight-$lHeight-$docPaddingTop, $lWidth, $lHeight);
/* Show Title Company */
$page->setFontandSize($timesBold, 14);
$page->beginText();
$page->textOut($lWidth+$docPaddingLeft+10, $pHeight-$docPaddingTop-14, $compName);
$page->setFontandSize($timesNormal, 12);
$page->textOut($lWidth+$docPaddingLeft+10, $pHeight-$docPaddingTop-26, $compAddress);
$page->textOut($lWidth+$docPaddingLeft+10, $pHeight-$docPaddingTop-38, $compAddress2);
$page->endText();
/* Create Horizontal Line */
$page->setRGBStroke(0,0,0);
$page->setRGBFill(1,1,1);
$page->moveTo($docPaddingLeft, $pHeight-$lHeight-$docPaddingTop-2);
$page->lineTo($pWidth-$docPaddingRight, $pHeight-$lHeight-$docPaddingTop-2);
$page->fillStroke();
/* Save and Show it to download */
$doc->save('header.pdf');
header('Content-Type: application/pdf');
$showit = file_get_contents('header.pdf');
echo $showit;
Penjelasan :
Line 4-7 : Membuat variable untuk padding halaman
Line 9-11 : Membuat informasi dasar Header
Line 14 : Membuat dokumen pdf baru
Line 15 : Membuat tampilan utama halaman pada saat dibuka user
Line 18-19 : Membaut varibale yang akan menyimpan informasi font yang digunakan
Line 22-24 : Membuat variable yang akan menyimpan informasi logo
Line 27 : Membuat halam baru
Line 28 : Menentukan halaman baru tersebut berukuran A4, dan berpenampilan Portait
Line 30-31 : Mengambil informasi halaman baru tersebut
Line 35 : Menempel logo di bagian atas kiri halaman
Line 38-44 : Menempel informasi yang di set pada line 9-11
Line 47-51 : Membuat garis horizontal tepat dibawah logo
Line 54 : Menyimpan file tersebut kedalam direktori dengan nama header.pdf
Line 55-57 : Memberikan pilihan kepada user untuk mendownload file tersebut.