示例#1
1
 /**
  *  Save PHPExcel to file
  *
  *  @param     string     $pFilename   Name of the file to save as
  *  @throws    PHPExcel_Writer_Exception
  */
 public function save($pFilename = null)
 {
     $fileHandle = parent::prepareForSave($pFilename);
     //  Default PDF paper size
     $paperSize = 'LETTER';
     //    Letter    (8.5 in. by 11 in.)
     //  Check for paper size and page orientation
     if (is_null($this->getSheetIndex())) {
         $orientation = $this->_phpExcel->getSheet(0)->getPageSetup()->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE ? 'L' : 'P';
         $printPaperSize = $this->_phpExcel->getSheet(0)->getPageSetup()->getPaperSize();
         $printMargins = $this->_phpExcel->getSheet(0)->getPageMargins();
     } else {
         $orientation = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE ? 'L' : 'P';
         $printPaperSize = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getPaperSize();
         $printMargins = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageMargins();
     }
     $this->setOrientation($orientation);
     //  Override Page Orientation
     if (!is_null($this->getOrientation())) {
         $orientation = $this->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT ? PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT : $this->getOrientation();
     }
     $orientation = strtoupper($orientation);
     //  Override Paper Size
     if (!is_null($this->getPaperSize())) {
         $printPaperSize = $this->getPaperSize();
     }
     if (isset(self::$paperSizes[$printPaperSize])) {
         $paperSize = self::$paperSizes[$printPaperSize];
     }
     //  Create PDF
     $pdf = new mpdf();
     $ortmp = $orientation;
     $pdf->_setPageSize(strtoupper($paperSize), $ortmp);
     $pdf->DefOrientation = $orientation;
     $pdf->AddPage($orientation);
     //  Document info
     $pdf->SetTitle($this->_phpExcel->getProperties()->getTitle());
     $pdf->SetAuthor($this->_phpExcel->getProperties()->getCreator());
     $pdf->SetSubject($this->_phpExcel->getProperties()->getSubject());
     $pdf->SetKeywords($this->_phpExcel->getProperties()->getKeywords());
     $pdf->SetCreator($this->_phpExcel->getProperties()->getCreator());
     $pdf->WriteHTML($this->generateHTMLHeader(false) . $this->generateSheetData() . $this->generateHTMLFooter());
     //  Write to file
     fwrite($fileHandle, $pdf->Output('', 'S'));
     parent::restoreStateAfterSave($fileHandle);
 }
 public function studentPdf(Request $request)
 {
     $post = $request->all();
     $user = $post['student'];
     $std = student::where('studentNo', '=', $user)->first();
     $charge = charges::where('students_studentNo', '=', $user)->first();
     $serial = Serial::where('students_studentNo', '=', $user)->first();
     if ($charge->total == 0) {
         $html = PDF::make($std, $serial);
     } else {
         $html = PDF::create($std, $charge, $serial);
     }
     $mpdf = new mpdf();
     $mpdf->WriteHTML($html);
     $mpdf->Output();
 }
示例#3
0
 /**
  * Save PhpWord to file.
  *
  * @param string $filename Name of the file to save as
  * @return void
  */
 public function save($filename = null)
 {
     $fileHandle = parent::prepareForSave($filename);
     //  PDF settings
     $paperSize = strtoupper('A4');
     $orientation = strtoupper('portrait');
     //  Create PDF
     $pdf = new \mpdf();
     $pdf->_setPageSize($paperSize, $orientation);
     $pdf->addPage($orientation);
     // Write document properties
     $phpWord = $this->getPhpWord();
     $docProps = $phpWord->getDocInfo();
     $pdf->setTitle($docProps->getTitle());
     $pdf->setAuthor($docProps->getCreator());
     $pdf->setSubject($docProps->getSubject());
     $pdf->setKeywords($docProps->getKeywords());
     $pdf->setCreator($docProps->getCreator());
     $pdf->writeHTML($this->getContent());
     //  Write to file
     fwrite($fileHandle, $pdf->output($filename, 'S'));
     parent::restoreStateAfterSave($fileHandle);
 }
 /**
  * Override the mpdf _getImage function
  *
  * This function takes care of gathering the image data from HTTP or
  * local files before passing the data back to mpdf's original function
  * making sure that only cached file paths are passed to mpdf. It also
  * takes care of checking image ACls.
  */
 function _getImage(&$file, $firsttime = true, $allowvector = true, $orig_srcpath = false)
 {
     global $conf;
     // build regex to parse URL back to media info
     $re = preg_quote(ml('xxx123yyy', '', true, '&', true), '/');
     $re = str_replace('xxx123yyy', '([^&\\?]*)', $re);
     // extract the real media from a fetch.php uri and determine mime
     if (preg_match("/^{$re}/", $file, $m) || preg_match('/[&\\?]media=([^&\\?]*)/', $file, $m)) {
         $media = rawurldecode($m[1]);
         list($ext, $mime) = mimetype($media);
     } else {
         list($ext, $mime) = mimetype($file);
     }
     // local files
     $local = '';
     if (substr($file, 0, 9) == 'dw2pdf://') {
         // support local files passed from plugins
         $local = substr($file, 9);
     } elseif (!preg_match('/(\\.php|\\?)/', $file)) {
         $re = preg_quote(DOKU_URL, '/');
         // directly access local files instead of using HTTP, skip dynamic content
         $local = preg_replace("/^{$re}/i", DOKU_INC, $file);
     }
     if (substr($mime, 0, 6) == 'image/') {
         if (!empty($media)) {
             // any size restrictions?
             $w = $h = 0;
             if (preg_match('/[\\?&]w=(\\d+)/', $file, $m)) {
                 $w = $m[1];
             }
             if (preg_match('/[\\?&]h=(\\d+)/', $file, $m)) {
                 $h = $m[1];
             }
             if (media_isexternal($media)) {
                 $local = media_get_from_URL($media, $ext, -1);
                 if (!$local) {
                     $local = $media;
                 }
                 // let mpdf try again
             } else {
                 $media = cleanID($media);
                 //check permissions (namespace only)
                 if (auth_quickaclcheck(getNS($media) . ':X') < AUTH_READ) {
                     $file = '';
                 }
                 $local = mediaFN($media);
             }
             //handle image resizing/cropping
             if ($w && file_exists($local)) {
                 if ($h) {
                     $local = media_crop_image($local, $ext, $w, $h);
                 } else {
                     $local = media_resize_image($local, $ext, $w, $h);
                 }
             }
         } elseif (media_isexternal($file)) {
             // fixed external URLs
             $local = media_get_from_URL($file, $ext, $conf['cachetime']);
         }
         if ($local) {
             $file = $local;
             $orig_srcpath = $local;
         }
     }
     return parent::_getImage($file, $firsttime, $allowvector, $orig_srcpath);
 }
示例#5
0
$check_in_date = str_replace("00:00:00", "", $reservations->reservationCheckInDate());
$check_out_date = str_replace("00:00:00", "", $reservations->reservationCheckOutDate());
$currency_type = $reservations->currencyType();
$payment_staus = $reservations->reservationPaymentStatus();
$pdf_message = "";
if ($payment_staus) {
    $pdf_message = "Your Reservation is Successful. Thank you for choosing Roomista.com as your booking engine";
} else {
    $pdf_message = "Sorry Reservation is Unsuccessful. Thank you for choosing Roomista.com as your booking engine";
}
ob_start();
include dirname(__FILE__) . "/res/voucher_template.php";
$content = ob_get_clean();
require_once dirname(__FILE__) . '/../mPDF/mpdf.php';
try {
    $pdf = new mpdf('', strtoupper('A4'), 0, 'Arial, Helvetica, sans-serif', 20, 15, 20, 5, 0, 0, 'L');
    $pdf->AddPage($orientation);
    //  Document info
    $pdf->SetTitle("Customer Invoice");
    $pdf->SetAuthor("roomista.com");
    $pdf->SetSubject("Customer Invoice");
    $pdf->SetKeywords("Customer Invoice");
    $pdf->SetCreator("roomista.com");
    $pdf->WriteHTML(utf8_encode($content));
    $filename = "Reservation_client_invoice.pdf";
    if ($_REQUEST['force'] == 'email') {
        $content = $pdf->Output('invoive.pdf', 'S');
        $content = chunk_split(base64_encode($content));
        $mail = new PHPMailer();
        $body = "<table width='745' style='font-family: Arial, Helvetica, sans-serif'>\n                    <tr>\n                        <td width='745' style='text-align: center; font-size: 20pt;'>Congratulations</td>\n                    </tr>\n                    <tr>\n                        <td height='25' ></td>\n                    </tr>\n                    <tr>\n                        <td width='745' style='text-align: center; font-size: 14pt; '>Your reservation was successfully completed</td>\n                    </tr>\n                    <tr>\n                        <td height='10' ></td>\n                    </tr>\n                    <tr>\n                        <td width='745' style='text-align: left; font: 700 '>We have attached the customer invoice for your reference. Do have a copy of the same when checking in at the hotel.</td>\n                    </tr>\n                    <tr>\n                        <td width='745' style='text-align: left; font: 700 '>Wishing you a pleasant stay.</td>\n                    </tr>\n                    <tr>\n                        <td width='745' style='text-align: left; font: 700 '>\n                        <p>\n                            --<br/>\n                            Kind regards<br>\n                            System Administrator, <br>\n                            <strong><a href='roomista.com'>roomista.com</a></strong>\n                        </p>\n                        <br/><br/><br/>\n                        <hr/>\n                        <span style='color:#CCC; font-size:10px; font-family:Arial, Helvetica, sans-serif;'>This e-mail is confidential. It may also be legally privileged. If you are not the intended recipient or have received it in error, please delete it and all copies from your system and notify the sender immediately by return e-mail. Any unauthorized reading, reproducing, printing or further dissemination of this e-mail or its contents is strictly prohibited and may be unlawful. Internet communications cannot be guaranteed to be timely, secure, error or virus-free. The sender does not accept liability for any errors or omissions.</span>\n                        </td>\n                    </tr>\n                </table>";
        //Headers of PDF and e-mail
示例#6
0
文件: mpdf.php 项目: jcodesdotme/pp
 * User: Seevali
 * Date: 2014-07-30
 * Time: 17:10
 */

    require_once('mPDF/mpdf.php');

    $orientation = strtoupper("L");
    $paperSize =strtoupper("L");

    $pdf = new mpdf('',    // mode - default ''
        strtoupper($paperSize),    // format - A4, for example, default ''
        0,     // font size - default 0
        'segoeui',    // default font family
        $printMargins->getLeft()*15,    // margin_left
        $printMargins->getRight()*15,    // margin right
        $printMargins->getTop()*15,     // margin top
        $printMargins->getBottom()*15,    // margin bottom
        0,     // margin header
        0,     // margin footer
        $orientation         // L - landscape, P - portrait
    );

    $pdf->AddPage($orientation);

    //  Document info
    $pdf->SetTitle("Customer Invoice");
    $pdf->SetAuthor("roomista.com");
    $pdf->SetSubject("Customer Invoice");
    $pdf->SetKeywords("Customer Invoice");
    $pdf->SetCreator("roomista.com");
 public static function report()
 {
     $appliedStudents = DB::table('students')->count();
     $clearedStudentsFac = DB::table('cleared_by')->where('cleared_by.department_cleared_by', '!=', 'N/A')->count();
     $pendingStudentsFac = DB::table('cleared_by')->where('cleared_by.department_cleared_by', '=', 'N/A')->count();
     //cafeteria
     $clearedStudentsCaf = DB::table('cleared_by')->where('cleared_by.cafeteria_cleared_by', '!=', 'N/A')->count();
     $pendingStudentsCaf = DB::table('cleared_by')->where('cleared_by.cafeteria_cleared_by', '=', 'N/A')->count();
     //library
     $clearedStudentsLib = DB::table('cleared_by')->where('cleared_by.library_cleared_by', '!=', 'N/A')->count();
     $pendingStudentsLib = DB::table('cleared_by')->where('cleared_by.library_cleared_by', '=', 'N/A')->count();
     //Ex-Act
     $clearedStudentsExa = DB::table('cleared_by')->where('cleared_by.extra_curricular_cleared_by', '!=', 'N/A')->count();
     $pendingStudentsExa = DB::table('cleared_by')->where('cleared_by.extra_curricular_cleared_by', '=', 'N/A')->count();
     //Games
     $clearedStudentsGam = DB::table('cleared_by')->where('cleared_by.games_cleared_by', '!=', 'N/A')->count();
     $pendingStudentsGam = DB::table('cleared_by')->where('cleared_by.games_cleared_by', '=', 'N/A')->count();
     //F-Aid
     $clearedStudentsFna = DB::table('cleared_by')->where('cleared_by.financial_aid_cleared_by', '!=', 'N/A')->count();
     $pendingStudentsFna = DB::table('cleared_by')->where('cleared_by.financial_aid_cleared_by', '=', 'N/A')->count();
     //Fin
     $clearedStudentsFin = DB::table('cleared_by')->where('cleared_by.finance_cleared_by', '!=', 'N/A')->count();
     $pendingStudentsFin = DB::table('cleared_by')->where('cleared_by.finance_cleared_by', '=', 'N/A')->count();
     //total Students
     $totalStudentsCleared = DB::table('clearstatus')->where('status', '=', 'Cleared')->count();
     $totalStudentsPending = DB::table('clearstatus')->where('status', '=', 'Pending')->count();
     //faculty
     //FIT
     $reqStudentFIT = DB::table('students')->where('faculty', '=', 'FIT')->count();
     $clearedStudentsFIT = DB::table('clearstatus')->join('students', 'clearstatus.students_studentNo', '=', 'students.studentNo')->where('clearstatus.status', '=', 'CLeared')->where('students.faculty', '=', 'FIT')->count();
     $pendingStudentsFIT = DB::table('clearstatus')->join('students', 'clearstatus.students_studentNo', '=', 'students.studentNo')->where('clearstatus.status', '=', 'Pending')->where('students.faculty', '=', 'FIT')->count();
     //SLS
     $reqStudentSLS = DB::table('students')->where('faculty', '=', 'SLS')->count();
     $clearedStudentsSLS = DB::table('clearstatus')->join('students', 'clearstatus.students_studentNo', '=', 'students.studentNo')->where('clearstatus.status', '=', 'CLeared')->where('students.faculty', '=', 'SLS')->count();
     $pendingStudentsSLS = DB::table('clearstatus')->join('students', 'clearstatus.students_studentNo', '=', 'students.studentNo')->where('clearstatus.status', '=', 'Pending')->where('students.faculty', '=', 'SLS')->count();
     //SOA
     $reqStudentSOA = DB::table('students')->where('faculty', '=', 'SOA')->count();
     $clearedStudentsSOA = DB::table('clearstatus')->join('students', 'clearstatus.students_studentNo', '=', 'students.studentNo')->where('clearstatus.status', '=', 'CLeared')->where('students.faculty', '=', 'SOA')->count();
     $pendingStudentsSOA = DB::table('clearstatus')->join('students', 'clearstatus.students_studentNo', '=', 'students.studentNo')->where('clearstatus.status', '=', 'Pending')->where('students.faculty', '=', 'SOA')->count();
     //SHSS
     $reqStudentSHSS = DB::table('students')->where('faculty', '=', 'SHSS')->count();
     $clearedStudentsSHSS = DB::table('clearstatus')->join('students', 'clearstatus.students_studentNo', '=', 'students.studentNo')->where('clearstatus.status', '=', 'CLeared')->where('students.faculty', '=', 'SHSS')->count();
     $pendingStudentsSHSS = DB::table('clearstatus')->join('students', 'clearstatus.students_studentNo', '=', 'students.studentNo')->where('clearstatus.status', '=', 'Pending')->where('students.faculty', '=', 'SHSS')->count();
     //SFAE
     $reqStudentSFAE = DB::table('students')->where('faculty', '=', 'SFAE')->count();
     $clearedStudentsSFAE = DB::table('clearstatus')->join('students', 'clearstatus.students_studentNo', '=', 'students.studentNo')->where('clearstatus.status', '=', 'CLeared')->where('students.faculty', '=', 'SFAE')->count();
     $pendingStudentsSFAE = DB::table('clearstatus')->join('students', 'clearstatus.students_studentNo', '=', 'students.studentNo')->where('clearstatus.status', '=', 'Pending')->where('students.faculty', '=', 'SFAE')->count();
     //SOA
     $reqStudentCHT = DB::table('students')->where('faculty', '=', 'CHT')->count();
     $clearedStudentsCHT = DB::table('clearstatus')->join('students', 'clearstatus.students_studentNo', '=', 'students.studentNo')->where('clearstatus.status', '=', 'CLeared')->where('students.faculty', '=', 'CHT')->count();
     $pendingStudentsCHT = DB::table('clearstatus')->join('students', 'clearstatus.students_studentNo', '=', 'students.studentNo')->where('clearstatus.status', '=', 'Pending')->where('students.faculty', '=', 'CHT')->count();
     //SOA
     $reqStudentSBS = DB::table('students')->where('faculty', '=', 'SBS')->count();
     $clearedStudentsSBS = DB::table('clearstatus')->join('students', 'clearstatus.students_studentNo', '=', 'students.studentNo')->where('clearstatus.status', '=', 'CLeared')->where('students.faculty', '=', 'SBS')->count();
     $pendingStudentsSBS = DB::table('clearstatus')->join('students', 'clearstatus.students_studentNo', '=', 'students.studentNo')->where('clearstatus.status', '=', 'Pending')->where('students.faculty', '=', 'SBS')->count();
     //financial report
     //facuty
     $totalDep = DB::table('charge')->sum('department_value');
     //cafeteria
     $totalCaf = DB::table('charge')->sum('cafeteria_value');
     // library
     $totalLib = DB::table('charge')->sum('library_value');
     //Extra Cal
     $totalExc = DB::table('charge')->sum('extra_curricular_value');
     //games
     $totalGam = DB::table('charge')->sum('games_value');
     //financial aid
     $totalFna = DB::table('charge')->sum('financial_aid_value');
     //finance
     $totalFin = DB::table('charge')->sum('finance_value');
     $html = PDF::report($appliedStudents, $clearedStudentsFac, $pendingStudentsFac, $clearedStudentsCaf, $pendingStudentsCaf, $clearedStudentsGam, $pendingStudentsGam, $clearedStudentsExa, $pendingStudentsExa, $clearedStudentsFna, $pendingStudentsFna, $clearedStudentsFin, $pendingStudentsFin, $clearedStudentsLib, $pendingStudentsLib, $totalStudentsCleared, $totalStudentsPending, $reqStudentFIT, $clearedStudentsFIT, $pendingStudentsFIT, $reqStudentSOA, $clearedStudentsSOA, $pendingStudentsSOA, $reqStudentSLS, $clearedStudentsSLS, $pendingStudentsSLS, $reqStudentSFAE, $clearedStudentsSFAE, $pendingStudentsSFAE, $reqStudentCHT, $clearedStudentsCHT, $pendingStudentsCHT, $reqStudentSHSS, $clearedStudentsSHSS, $pendingStudentsSHSS, $reqStudentSBS, $clearedStudentsSBS, $pendingStudentsSBS, $totalDep, $totalCaf, $totalLib, $totalExc, $totalGam, $totalFna, $totalFin);
     $mpdf = new mpdf();
     $mpdf->WriteHTML($html);
     $mpdf->Output();
 }
示例#8
0
 /**
  * Save PHPExcel to file
  *
  * @param 	string 		$pFileName
  * @throws 	Exception
  */
 public function save($pFilename = null)
 {
     // garbage collect
     $this->_phpExcel->garbageCollect();
     $saveArrayReturnType = PHPExcel_Calculation::getArrayReturnType();
     PHPExcel_Calculation::setArrayReturnType(PHPExcel_Calculation::RETURN_ARRAY_AS_VALUE);
     // Open file
     $fileHandle = fopen($pFilename, 'w');
     if ($fileHandle === false) {
         throw new Exception("Could not open file {$pFilename} for writing.");
     }
     // Set PDF
     $this->_isPdf = true;
     // Build CSS
     $this->buildCSS(true);
     // Default PDF paper size
     $paperSize = 'LETTER';
     //	Letter	(8.5 in. by 11 in.)
     // Check for paper size and page orientation
     if (is_null($this->getSheetIndex())) {
         $orientation = $this->_phpExcel->getSheet(0)->getPageSetup()->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE ? 'L' : 'P';
         $printPaperSize = $this->_phpExcel->getSheet(0)->getPageSetup()->getPaperSize();
         $printMargins = $this->_phpExcel->getSheet(0)->getPageMargins();
     } else {
         $orientation = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE ? 'L' : 'P';
         $printPaperSize = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getPaperSize();
         $printMargins = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageMargins();
     }
     $this->setOrientation($orientation);
     //	Override Page Orientation
     if (!is_null($this->getOrientation())) {
         $orientation = $this->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT ? PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT : $this->getOrientation();
     }
     $orientation = strtoupper($orientation);
     //	Override Paper Size
     if (!is_null($this->getPaperSize())) {
         $printPaperSize = $this->getPaperSize();
     }
     if (isset(self::$_paperSizes[$printPaperSize])) {
         $paperSize = self::$_paperSizes[$printPaperSize];
     }
     // Create PDF
     $pdf = new mpdf();
     $pdf->_setPageSize(strtoupper($paperSize), $orientation);
     $pdf->DefOrientation = $orientation;
     // Document info
     $pdf->SetTitle($this->_phpExcel->getProperties()->getTitle());
     $pdf->SetAuthor($this->_phpExcel->getProperties()->getCreator());
     $pdf->SetSubject($this->_phpExcel->getProperties()->getSubject());
     $pdf->SetKeywords($this->_phpExcel->getProperties()->getKeywords());
     $pdf->SetCreator($this->_phpExcel->getProperties()->getCreator());
     $pdf->WriteHTML($this->generateHTMLHeader(false) . $this->generateSheetData() . $this->generateHTMLFooter());
     // Write to file
     fwrite($fileHandle, $pdf->Output('', 'S'));
     // Close file
     fclose($fileHandle);
     PHPExcel_Calculation::setArrayReturnType($saveArrayReturnType);
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show()
 {
     $user = Auth::user()->regNo;
     $std = student::where('studentNo', '=', $user)->first();
     $charge = charges::where('students_studentNo', '=', $user)->first();
     if ($charge->total == 0) {
         $html = PDF::make($std);
     } else {
         $html = PDF::create($std, $charge);
     }
     $mpdf = new mpdf();
     $mpdf->WriteHTML($html);
     $mpdf->Output();
 }
示例#10
0
    function front_id($results)
    {
        $params = array('mode' => '', 'format' => 'Legal', 'default_font_size' => 0, 'default_font' => '', 'mgl' => '0', 'mgr' => '0', 'mgt' => '0', 'mgb' => '0', 'mgh' => '0', 'mgf' => '0', 'orientation' => 'P');
        $this->load->library('mpdf', $params);
        $mpdf = new mpdf($params);
        // LOAD a stylesheet
        //$this->mpdf->SetHTMLHeader('<div align="center" style="font-size:15">LAGUNA UNIVERSITY PROPERTY INVENTORY SYSTEM<div>');
        $stylesheet = file_get_contents(base_url() . 'css/mpdf/mpdfstyletables.css');
        $mpdf->WriteHTML($stylesheet, 1);
        // The parameter 1 tells that this is css/style only and no body/html/text
        //$today = date("F, l, d, Y - H:i:s a");
        //$this->mpdf->SetFooter($today.'||{PAGENO} of {nbpg}');
        $tbl_start_f = '<table border="0"><tr>';
        $mpdf->WriteHTML($tbl_start_f);
        $x = '4';
        //4 start counting
        $y = '0';
        foreach ($results as $result) {
            $e = new Employee_m();
            $row = $e->get_by_id($result->employee_id);
            $y++;
            $pics = "pics/" . $row->pics;
            if (strlen($row->pics) <= '4' || !file_exists($pics)) {
                $pics = 'pics/not_available.jpg';
            }
            //set font size if textover flow at employee name
            $s_name = 'height="21" style="font-weight: bold; font-size:15px;"';
            if (strlen($row->fname . " " . $row->mname . " " . $row->lname) >= '20') {
                $s_name = 'height="21" style="font-weight: bold; font-size:10px;"';
            }
            //set font size if textover flow at office code
            $s_office = 'style="font-weight: bold; font-size:15px; color: #FFF;"';
            if (strlen($row->office_code) >= '21') {
                $s_office = 'style="font-weight: bold; font-size:10px; color: #FFF;"';
            }
            //set font size if textover flow at position
            $valign_pos = 'valign="middle"';
            if (strlen($row->position) >= '45') {
                $valign_pos = 'valign="bottom"';
            }
            //set font size if textover flow at position
            $s_position = 'style="font-weight: bold; font-size:15px; color:#FF0;"';
            if (strlen($row->position) >= '21') {
                $s_position = 'style="font-weight: bold; font-size:8px; color:#FF0;"';
            }
            $html_f = '<td align="center">
							<table border="0" width="205" height="320" style="background-image: url(images/id/id-front.png);">
							  <tr>
								<td align="center" height="63">&nbsp;</td>
							  </tr>
							  <tr>
								<td align="center" style="font-weight: bold; font-size:12px;">EMP No:' . strtoupper($row->employee_id) . '</td>
							  </tr>
							  <tr>
								<td align="center"><img src="' . $pics . '" width="120" height="140"/></td>
							  </tr>
							  <tr>
								<td align="center" valign="middle" ' . $s_name . '>' . strtoupper($row->fname . " " . $row->mname . " " . $row->lname) . '</td>
							  </tr>
							  <tr>
								<td align="center"  height="34">&nbsp;</td>
							  </tr>
							  <tr>
								<td align="center" valign="bottom" height="27" ' . $s_office . '>' . strtoupper($row->office_code) . '</td>
							  </tr>
							  <tr>
								<td align="center" ' . $valign_pos . ' height="22" ' . $s_position . '>' . strtoupper($row->position) . '</td>
							  </tr>
							</table></td>';
            if ($y == $x) {
                $html_f = '
					<tr><td align="center">
						<table border="0" width="205" height="320" style="background-image: url(images/id/id-front.png);">
						  <tr>
							<td align="center" height="63">&nbsp;</td>
						  </tr>
						  <tr>
							<td align="center" style="font-weight: bold; font-size:12px;">EMP No:' . strtoupper($row->employee_id) . '</td>
						  </tr>
						  <tr>
							<td align="center"><img src="' . $pics . '" width="120" height="140"/></td>
						  </tr>
						  <tr>
							<td align="center" valign="middle" ' . $s_name . '>' . strtoupper($row->fname . " " . $row->mname . " " . $row->lname) . '</td>
						  </tr>
						  <tr>
							<td align="center"  height="34">&nbsp;</td>
						  </tr>
						  <tr>
							<td align="center" valign="bottom" height="27" ' . $s_office . '>' . strtoupper($row->office_code) . '</td>
						  </tr>
						  <tr>
							<td align="center" ' . $valign_pos . ' height="22" ' . $s_position . '>' . strtoupper($row->position) . '</td>
						  </tr>
						</table></td></tr>';
                $x = $x + 3;
                //3 count of generated id per column
            }
            $mpdf->WriteHTML($html_f);
        }
        $tbl_end_f = '</tr></table>';
        $mpdf->WriteHTML($tbl_end_f);
        header('Cache-Control: maxage=3600');
        //Adjust maxage appropriately
        header('Pragma: public');
        $mpdf->Output('dtr/template/id_generated/front_id.pdf', 'F');
        //return 'dtr/template/id_generated/front_id_'.date('Y_m_d').'.pdf';
    }
示例#11
0
	/**
	 * Save PHPExcel to file
	 *
	 * @param 	string 		$pFileName
	 * @throws 	Exception
	 */
	public function save($pFilename = null) {
		// garbage collect
		$this->_phpExcel->garbageCollect();

		$saveArrayReturnType = PHPExcel_Calculation::getArrayReturnType();
		PHPExcel_Calculation::setArrayReturnType(PHPExcel_Calculation::RETURN_ARRAY_AS_VALUE);

		// Open file
		$fileHandle = fopen($pFilename, 'w');
		if ($fileHandle === false) {
			throw new Exception("Could not open file $pFilename for writing.");
		}
		// Set PDF
		$this->_isPdf = true;
		// Build CSS
		$this->buildCSS(true);
		
		if(!$this->_printParamsSetted) {
			// Default PDF paper size
			$paperSize = 'A4';
	
			// Check for paper size and page orientation
			if (is_null($this->getSheetIndex())) {
				$orientation = ($this->_phpExcel->getSheet(0)->getPageSetup()->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) ? 'L' : 'P';
				$printPaperSize = $this->_phpExcel->getSheet(0)->getPageSetup()->getPaperSize();
				$printMargins = $this->_phpExcel->getSheet(0)->getPageMargins();
			} else {
				$orientation = ($this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) ? 'L' : 'P';
				$printPaperSize = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getPaperSize();
				$printMargins = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageMargins();
			}
			$this->setOrientation($orientation);
	
			//	Override Page Orientation
			if (!is_null($this->getOrientation())) {
				$orientation = ($this->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT) ?
					PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT : $this->getOrientation();
			}
			$orientation = strtoupper($orientation);
	
			//	Override Paper Size
			if (!is_null($this->getPaperSize())) {
				$printPaperSize = $this->getPaperSize();
			}
	
			if (isset(self::$_paperSizes[$printPaperSize])) {
				$paperSize = self::$_paperSizes[$printPaperSize];
			}
			
			if(is_string($paperSize)){
				$paperSize = strtoupper($paperSize.(substr($orientation,0,1) == 'L' ? '-L' : ''));
			}
			
			if($printMargins) {	//$printMargins是英寸制,要转换成毫米
				$tmargin = 25.4 * $printMargins->getTop();
				$bmargin = 25.4 * $printMargins->getBottom();
				$lmargin = 25.4 * $printMargins->getLeft();
				$rmargin = 25.4 * $printMargins->getRight();
				$hmargin = 25.4 * $printMargins->getHeader();
				$fmargin = 25.4 * $printMargins->getFooter();
			}
		}
		else {
			$paperSize = $this->_printPaperSize;
			$orientation = $this->_printOrientation;
			$tmargin = $this->_printTmargin;
			$bmargin = $this->_printBmargin;
			$lmargin = $this->_printLmargin;
			$rmargin = $this->_printRmargin;
			$hmargin = $this->_printHmargin;
			$fmargin = $this->_printFmargin;
		}
		
		error_reporting(E_ALL ^ E_NOTICE); //当前的版本很多notice警告,屏蔽掉
		
		// Create PDF
		$pdf = new mpdf();
		$pdf->useAdobeCJK = true;		// Default setting in config.php
		$pdf->SetAutoFont(AUTOFONT_ALL);	//	AUTOFONT_CJK | AUTOFONT_THAIVIET | AUTOFONT_RTL | AUTOFONT_INDIC	// AUTOFONT_ALL

// 		Log::write("\ndefault pdf:\nT:".$pdf->tMargin."\nB:".$pdf->bMargin."\nL:".$pdf->DeflMargin."\nR:".$pdf->DefrMargin."\nH:".$pdf->margin_header."\nF:".$pdf->margin_footer."\n\n");

		$pdf->_setPageSize($paperSize, $orientation);
        $pdf->DefOrientation = $orientation;

        if(!empty($this->_printFooterO)) {
        	$pdf->SetHTMLFooter($this->_printFooterO);
        }
        if(!empty($this->_printHeaderO)) {
        	$pdf->SetHTMLHeader($this->_printHeaderO, 'O');
        }
		if(!empty($this->_printFooterE)) {
			$pdf->SetHTMLFooter($this->_printFooterE, 'E');
		}
		if(!empty($this->_printHeaderE)) {
			$pdf->SetHTMLHeader($this->_printHeaderE, 'E');
		}
		if(!empty($tmargin)) {
			$pdf->tMargin = $tmargin;
		}
		if(!empty($bmargin)) {
			$pdf->bMargin = $bmargin;
		}
		if(!empty($lmargin)) {
			$pdf->DeflMargin = $lmargin;
		}
		if(!empty($rmargin)) {
			$pdf->DefrMargin = $rmargin;
		}
		if(!empty($hmargin)) {
			$pdf->margin_header = $hmargin;
		}
		if(!empty($fmargin)) {
			$pdf->margin_footer = $fmargin;
		}
		
		$pdf->mirrorMargins = $this->_mirrorMargins;
		
        if(!empty($this->_script)) {
        	$pdf->SetJS($this->_script);
        }
        
        // Document info
		$pdf->SetTitle($this->_phpExcel->getProperties()->getTitle());
		$pdf->SetAuthor($this->_phpExcel->getProperties()->getCreator());
		$pdf->SetSubject($this->_phpExcel->getProperties()->getSubject());
		$pdf->SetKeywords($this->_phpExcel->getProperties()->getKeywords());
		$pdf->SetCreator($this->_phpExcel->getProperties()->getCreator());

		$pdf->WriteHTML(
			$this->generateHTMLHeader(false) .
			$this->generateSheetData() .
			$this->generateHTMLFooter()
		);

		// Write to file
		fwrite($fileHandle, $pdf->Output('','S'));

		// Close file
		fclose($fileHandle);

		PHPExcel_Calculation::setArrayReturnType($saveArrayReturnType);
	}