cmc-sales/app/vendors/pdfdoc.php

203 lines
7.2 KiB
PHP
Raw Normal View History

2011-05-24 02:52:38 -07:00
<?php
App::import('Vendor','tcpdf/tcpdf');
App::import('Vendor', 'fpdi/fpdi');
2011-05-24 02:52:38 -07:00
class PDFDOC extends FPDI {
2011-05-24 02:52:38 -07:00
var $xheadertext = 'CMC TECHNOLOGIES';
var $xheadercolor = array(0,0,200);
var $xfootertext = 'Copyright © %d XXXXXXXXXXX. All rights reserved.';
var $xfooterfont = PDF_FONT_NAME_MAIN ;
var $xfooterfontsize = 8 ;
var $docRef = '';
function pageContent($content) {
$this->SetTextColor(0);
$this->SetFontSize(11); //Changed from 12
$this->SetFont('helvetica', '');
2011-05-24 02:52:38 -07:00
$this->writeHTML($content, true, false, false, false, '');
2011-05-24 02:52:38 -07:00
}
function Page1Header() {
$this->setY(10); // shouldn't be needed due to page margin, but helas, otherwise it's at the page top
$this->SetFillColor(255, 255, 255);
$this->SetTextColor(0 , 0, 152); //Set the Text Color to Blue
// $this->Image($file, $x, $y, $w, $h, $type, $link, $align, $resize, $dpi, $palign, $ismask, $imgmask, $border, $fitbox, $hidden)
$this->Image(K_PATH_IMAGES.'2020cmclogosmall.jpg', 10, 10, 0, 28, null, 'http://www.cmctechnologies.com.au', null, false, null, 'L');
2011-05-24 02:52:38 -07:00
$this->Cell(30);
$this->SetFont('helvetica', 'B');
2011-05-24 02:52:38 -07:00
$this->SetFontSize(30);
$this->Cell(0,0, $this->xheadertext, 0,1,'C', 1);
$this->SetFontSize(10);
$this->SetY(22);
$this->Cell(30);
$this->Cell(0,0, "PTY LIMITED ACN: 085 991 224 ABN: 47 085 991 224", 0, 1, 'C', 1);
2011-05-24 02:52:38 -07:00
//$this->Rect($x, $y, $w, $h, $style, $border_style);
$this->Rect($this->GetX()+33, $this->GetY()+2, 157, 0.2, 'DF', array('width'=>0), array(0, 0, 0));
2011-05-24 02:52:38 -07:00
/* Start the contact details */
$this->SetTextColor(0); //Set the Text Color to Black
$this->MultiCell(30, 0, "Phone:\nFax:\nEmail:\nWeb Site:\n", 0, 'L', 0, 0, 45, 32);
2011-05-24 02:52:38 -07:00
$this->SetFont('helvetica', '');
2011-05-24 02:52:38 -07:00
$this->MultiCell(55, 0, "+61 2 9669 4000<br>+61 2 9669 4111<br><a href=\"mailto:sales@cmctechnologies.com.au\">sales@cmctechnologies.com.au</a>
<br><a href=\"http://www.cmctechnologies.net.au\">www.cmctechnologies.net.au</a><br>", 0, 'L', 0, 0, 65, null, true, 0, true);
2011-05-24 02:52:38 -07:00
$this->MultiCell(52, 0, "Unit 19, 77 Bourke Rd\nAlexandria NSW 2015\nAUSTRALIA\n", 0, 'L', 0, 0, 150, null);
2011-05-24 02:52:38 -07:00
$this->SetTextColor(0 , 0, 152); //Set the Text Color to Blue
$this->SetFont('helvetica', 'B');
2011-05-24 02:52:38 -07:00
$this->MultiCell(30, 20, "Engineering &\nIndustrial\nInstrumentation", 0, 'L', 0, 1, 10,37);
}
/**
*Footer for the 1st (and subsequent content) pages.
*/
function Page1Footer() {
$this->SetAutoPageBreak(false);
$this->SetY(-20);
$this->MultiCell(0, 2, "<hr>", 0, 'C', null, 1, null, null, true, 0, true, false);
$html = <<<ENDHTML
<span style="font-size:9pt">CMC TECHNOLOGIES Provides Solutions in the Following Fields<span><br>
<table cellspacing="2"><tr><td><span style="color: #99000a; font-weight: bold">EXPLOSION PREVENTION AND PROTECTION</span>&mdash;<span style="color: #ff9900; font-weight: bold">FIRE PROTECTION</span>&mdash;<span style="color: #ff0019; font-weight: bold">PRESSURE RELIEF</span>&mdash;<span style="color: #00801e; font-weight: bold">VISION IN THE PROCESS</span></td></tr>
2011-05-24 02:52:38 -07:00
<tr><td><span style="color: #2f4be0;">FLOW MEASUREMENT</span>&mdash;<span style="color: #ab31f8;">PROCESS INSTRUMENTATION</span></td></tr>
</table>
ENDHTML;
//$this->writeHTML($html, true, 0, true, 0);
$this->writeHTMLCell(0, 0, null, null, $html, 0, 1, false, true, 'C', true);
//$this->writeHTMLCell($w, $h, $x, $y, $html, $border, $ln, $fill, $reseth, $align, $autopadding)
$this->SetAutoPageBreak(true, 20);
}
2011-08-15 17:36:48 -07:00
2011-06-15 20:27:33 -07:00
/**
* For Quotes and (hopefully) Invoices. Identifies who the document is for, date, reference number, etc.
*/
function DetailsBoxHTML($docTypeFullName, $companyName, $emailTo, $attention, $fromName, $fromEmail, $enquiryNumber, $your_reference, $issuedate, $pageCount) {
$pageNo = $this->PageNoFormatted();
$totalCount = $this->getAliasNbPages();
2011-08-15 17:36:48 -07:00
$col1width = '20%';
$col2width = '30%';
$col3width = $col1width;
$col4width = $col2width;
$todayPHPdate = strtotime($issuedate);
$todaysDateString = date('l, j F Y', $todayPHPdate);
2011-06-15 20:27:33 -07:00
$table = <<<ENDTABLE
2013-05-29 05:13:56 -07:00
<table style="padding: 4px;">
2011-06-15 22:05:34 -07:00
<tr>
<td style="width: {$col1width}; border-top: 1px solid black; border-left: 1px solid black;">QUOTATION TO:</td>
<td style="width: {$col2width}; border-top: 1px solid black;">{$companyName}</td>
<td style="width: {$col3width}; border-top: 1px solid black; border-left: 1px solid black;">FROM:</td>
<td style="width: {$col4width}; border-top: 1px solid black; border-right: 1px solid black;"><a href="mailto:{$fromEmail}">{$fromName}</a></td>
2011-06-15 20:27:33 -07:00
</tr>
2011-06-15 22:05:34 -07:00
<tr>
<td style="border-left: 1px solid black;">EMAIL TO:</td>
<td><a href="mailto:{$emailTo}">{$emailTo}</a></td>
<td style="border-left: 1px solid black;">CMC REF#:</td>
<td style="border-right: 1px solid black;">{$enquiryNumber}</td>
2011-06-15 22:05:34 -07:00
</tr>
2011-06-15 22:05:34 -07:00
<tr>
<td style="border-left: 1px solid black; border-bottom: 1px solid black;">ATTENTION:</td>
<td style="border-bottom: 1px solid black;">{$attention}</td>
<td style="border-left: 1px solid black; border-bottom: 1px solid black;">PAGE:</td>
<td style="border-right: 1px solid black; border-bottom: 1px solid black;">{$pageNo} of {$totalCount} (plus attachments)</td>
</tr>
2011-06-15 22:05:34 -07:00
<tr>
2011-06-19 18:20:44 -07:00
<td style="border-left: 1px solid black; border-bottom: 1px solid black;" colspan="2">DATE: {$todaysDateString}</td>
<td style="border-left: 1px solid black; border-bottom: 1px solid black; border-right: 1px solid black;" colspan="2">YOUR REF: {$your_reference}</td>
2011-06-15 22:05:34 -07:00
</tr>
2011-06-15 20:27:33 -07:00
</table>
ENDTABLE;
$this->SetTextColor(0); //Black Text
2011-06-15 22:05:34 -07:00
2011-06-15 20:27:33 -07:00
$this->writeHTMLCell(0, 0, null, null, $table, null, 1, null, true, 'L', false);
2011-06-15 22:05:34 -07:00
$this->SetFontSize(7);
2011-06-15 20:27:33 -07:00
2011-06-15 22:05:34 -07:00
//Kinda lame that I cant seem to wrap this text nicer. But Whatever.
$this->MultiCell(0, 0, 'The information in this document is confidential and may be privileged. If you are not the indended recipient then access, disclosure, copying or other dissemination of the contents of this message is unauthorised and may be unlawful. Please inform the sender immediately if you are not the intended addressee.',
2011-06-15 22:05:34 -07:00
'', 'L', false, 1
);
$this->writeHTMLCell(0, 0, null, null, '<br><hr>', 0, 1, false,true, 'C', false);
2011-06-15 20:27:33 -07:00
}
2011-08-15 17:36:48 -07:00
2011-05-24 02:52:38 -07:00
function header() {
//$this->Image(K_PATH_IMAGES.'cmclogosmall.jpg', 10, 10, 15, 13.6, null, 'http://www.cmctechnologies.com.au', null, false, null, 'L');
$this->SetFontSize(10);
$pageNo = $this->PageNoFormatted();
2011-06-16 20:19:53 -07:00
$totalCount = $this->getAliasNbPages();
2011-08-15 17:36:48 -07:00
2011-05-24 02:52:38 -07:00
//$currentX = $this->GetX();
//$this->SetX($currentX + 40);
// $this->writeHTMLCell(0, 0, null, null, 'CONTINUES', -10, 1, false,true, 'C', false);
//$this->MultiCell(100, 13.6,"CONTINUES", 0,'C', false, 10, 60);
2011-06-16 20:19:53 -07:00
$this->MultiCell(0,13.6, "PAGE $pageNo OF $totalCount", '', 'R', false, 0, 10,5);
2011-05-24 02:52:38 -07:00
//$this->MultiCell($w, $h, $txt, $border, $align, $fill, $ln, $x, $y, $reseth, $stretch, $ishtml)
//$this->Image($file, $x, $y, $w, $h, $type, $link, $align, $resize, $dpi)
2011-06-15 20:27:33 -07:00
2011-05-24 02:52:38 -07:00
}
var $files = array();
function setFiles($files) {
$this->files = $files;
}
function concat() {
foreach($this->files AS $file) {
$pagecount = $this->setSourceFile($file);
for ($i = 1; $i <= $pagecount; $i++) {
$tplidx = $this->ImportPage($i);
$this->AddPage();
$this->useTemplate($tplidx);
}
}
}
2011-05-24 02:52:38 -07:00
}
2013-05-29 05:13:56 -07:00
?>